USES CRT;
CONST
MAX = 15;
TYPE
LARIK = ARRAY [1..MAX] OF INTEGER;
VAR
X,Y,I : INTEGER;
PILIH : CHAR;
N : INTEGER;
S : STRING;
DATA : LARIK;
PROCEDURE DEMO;
VAR
X : INTEGER;
Q : STRING;
BEGIN
TEXTBACKGROUND(BLACK);
CLRSCR;
Q:=' TUGAS SISTEM BERKAS ALGORITMA MERGE SORT DALAM PEMROGRAMAN PASCAL';
FOR I:=1 TO LENGTH(Q) DO
BEGIN
GOTOXY(I,5); WRITE(COPY(Q,I,1));
DELAY(100);
END;
FOR I:=1 TO LENGTH(Q) DO
BEGIN
FOR X:= 5 TO 20 DO
BEGIN
GOTOXY(I,X-1); WRITE(' ');
GOTOXY(I,X) ; WRITE(COPY(Q,I,X));
DELAY(2);
END;
END;
CLRSCR;
END;
PROCEDURE DATA_PENULIS;
VAR
Q,A,B,C,D,E,F : STRING;
X : INTEGER;
BEGIN
TEXTCOLOR(YELLOW);
Q := 'DATA PENULIS';
FOR I := 1 TO LENGTH(Q) DO
BEGIN
FOR X := 1 TO 5 DO
BEGIN
GOTOXY(30+I,X+1);WRITE(COPY(Q,I,1));
GOTOXY(30+I,X);WRITE(' ');
DELAY(50);
END;
END;
TEXTCOLOR(RED);
A := 'NAMA : LAILATUL BADRIYAH';
FOR I := 1 TO LENGTH(A) DO
BEGIN
GOTOXY(23,8);WRITE(COPY(A,1,I));
DELAY(70);
END;
B := 'NPM : 2009.02.01.0.0028';
FOR I := 1 TO LENGTH(B) DO
BEGIN
GOTOXY(23,9);WRITE(COPY(B,1,I));
DELAY(70);
END;
C := 'FAKULTAS : TEKHNIK';
FOR I := 1 TO LENGTH(C) DO
BEGIN
GOTOXY(23,10);WRITE(COPY(C,1,I));
DELAY(70);
END;
D := 'JURUSAN : INFORMATIKA';
FOR I := 1 TO LENGTH(D) DO
BEGIN
GOTOXY(23,11);WRITE(COPY(D,1,I));
DELAY(70);
END;
E := 'SEMESTER : 5A';
FOR I := 1 TO LENGTH(E) DO
BEGIN
GOTOXY(23,12);WRITE(COPY(E,1,I));
DELAY(70);
END;
TEXTCOLOR(WHITE);
GOTOXY(28,19);WRITELN('PRESS TO CONTINUE...!!!');
TEXTCOLOR(GREEN+BLINK);
GOTOXY(34,19);WRITELN('ENTER');
TEXTCOLOR(WHITE);
READLN;
END;
PROCEDURE ENDING;
VAR
I : INTEGER;
S : STRING;
X : INTEGER;
Q : STRING;
BEGIN
TEXTCOLOR(WHITE);
S := 'SEKIAN DAN MATOR SAKALANGKONG';
FOR I := 1 TO LENGTH(S) DO
BEGIN
FOR X := 1 TO 12 DO
BEGIN
GOTOXY(30+I,25-X);WRITE(COPY(S,I,1));
GOTOXY(30+I,25-X+1);WRITE(' ');
DELAY(20);
GOTOXY(30+I,X+1);WRITE(COPY(S,I,1));
GOTOXY(30+I,X);WRITE(' ');
DELAY(20);
END;
END;
Q := 'SEKIAN DAN MATOR SAKALANGKONG';
FOR I := 1 TO LENGTH(Q) DO
BEGIN
FOR X := 1 TO 14 DO
BEGIN
GOTOXY(30+I,14-X);WRITE(COPY(Q,I,1));
GOTOXY(30+I,14-X);WRITE(' ');
DELAY(10);
END;
END;
END;
{=========PROCEDURE-PROCEDURE UNTUK DEKORASI TAMPILAN PROGRAM==========}
PROCEDURE FINISHING;
VAR
I : INTEGER;
S : STRING;
X : INTEGER;
BEGIN
CLRSCR;
TEXTBACKGROUND(BLACK);
CLRSCR;
TEXTBACKGROUND(BLUE);
FOR I := 1 TO 10 DO
BEGIN
WINDOW(1,1,I,25);
DELAY(100);
CLRSCR;
END;
TEXTBACKGROUND(WHITE);
FOR X:=11 TO 20 DO
BEGIN
WINDOW(11,1,X,25);
DELAY(100);
CLRSCR;
END;
TEXTBACKGROUND(BROWN);
FOR I := 21 TO 30 DO
BEGIN
WINDOW(21,1,I,25);
DELAY(100);
CLRSCR;
END;
TEXTBACKGROUND(CYAN);
FOR X:=31 TO 40 DO
BEGIN
WINDOW(31,1,X,25);
DELAY(100);
CLRSCR;
END;
TEXTBACKGROUND(MAGENTA);
FOR I := 41 TO 50 DO
BEGIN
WINDOW(41,1,I,25);
DELAY(100);
CLRSCR;
END;
TEXTBACKGROUND(YELLOW);
FOR X:=51 TO 60 DO
BEGIN
WINDOW(51,1,X,25);
DELAY(100);
CLRSCR;
END;
TEXTBACKGROUND(GREEN);
FOR I := 61 TO 70 DO
BEGIN
WINDOW(61,1,I,25);
DELAY(100);
CLRSCR;
END;
TEXTBACKGROUND(RED);
FOR X:=71 TO 80 DO
BEGIN
WINDOW(71,1,X,25);
DELAY(100);
CLRSCR;
END;
READLN;
END;
PROCEDURE BUKA;
BEGIN
TEXTBACKGROUND(BLACK);
FOR I:= 1 TO 40 DO
BEGIN
WINDOW(40-I,1,41+I,25);
DELAY(30);
CLRSCR;
END;
END;
PROCEDURE BUKAX;
BEGIN
TEXTBACKGROUND(BROWN);
FOR I:= 1 TO 40 DO
BEGIN
WINDOW(40-I,1,41+I,25);
DELAY(30);
CLRSCR;
END;
END;
PROCEDURE TUTUP;
BEGIN
TEXTBACKGROUND(BLACK);
FOR I:= 1 TO 40 DO
BEGIN
WINDOW(1,1,I,25);
DELAY(30);
CLRSCR;
WINDOW(81-I,1,81-I,25);
DELAY(30);
CLRSCR;
END;
END;
PROCEDURE HAPUSKIRIKEKANAN;
BEGIN
TEXTBACKGROUND(BLACK);
FOR I:= 1 TO 80 DO
BEGIN
WINDOW(1,1,I,25);
DELAY(20);
CLRSCR;
END;
END;
PROCEDURE HAPUSKANANKEKIRI;
BEGIN
TEXTBACKGROUND(BLACK);
FOR I:= 1 TO 80 DO
BEGIN
WINDOW(80-I,1,80,25);
DELAY(20);
CLRSCR;
END;
END;
PROCEDURE HAPUSATASKEBAWAH;
BEGIN
TEXTBACKGROUND(BLACK);
FOR I:= 1 TO 25 DO
BEGIN
WINDOW(1,1,80,I);
DELAY(30);
CLRSCR;
END;
END;
PROCEDURE HAPUSBAWAHKEATAS;
BEGIN
TEXTBACKGROUND(BLACK);
FOR I:= 1 TO 25 DO
BEGIN
WINDOW(1,25-I,80,25);
DELAY(30);
CLRSCR;
END;
END;
PROCEDURE BLANK;
BEGIN
TEXTBACKGROUND(BLUE);
BEGIN
WINDOW(1,1,80,25);
DELAY(1);
CLRSCR;
END;
END;
PROCEDURE SPASI;
BEGIN
WRITELN;
END;
PROCEDURE PUTIH;
BEGIN
TEXTCOLOR(WHITE);
END;
PROCEDURE MERAH;
BEGIN
TEXTCOLOR(RED);
END;
PROCEDURE BIRU;
BEGIN
TEXTCOLOR(BLUE);
END;
PROCEDURE HIJAU;
BEGIN
TEXTCOLOR(GREEN);
END;
PROCEDURE KUNING;
BEGIN
TEXTCOLOR(YELLOW);
END;
PROCEDURE KEDIP2;
BEGIN
TEXTCOLOR(RED+BLINK);
END;
PROCEDURE WANIPIRO;
VAR U : STRING;
BEGIN
U := ' SILAHKAN TEKAN ENTER, UNTUK MELIHAT HASIL PENGURUTAN SECARA DESCENDING ';
FOR I := 1 TO LENGTH(U) DO
BEGIN
GOTOXY(1,8);WRITE(COPY(U,1,I));
DELAY(10);
END;
KEDIP2;
GOTOXY(20,8);WRITELN('ENTER');
PUTIH;
END;
PROCEDURE RUN;
VAR
S,T : STRING;
BEGIN
CLRSCR;
TEXTCOLOR(BLUE);
S:='=>';
T:='<=';
FOR I := 1 TO 80 DO
BEGIN
GOTOXY(I,8);WRITELN(COPY(S,1,I));
GOTOXY(I-1,8);WRITELN(' ');
DELAY(50);
END;
FOR I := 1 TO 80 DO
BEGIN
GOTOXY(80-I,8);WRITELN(COPY(T,1,I));
GOTOXY(80-I+2,8);WRITELN(' ');
DELAY(50);
END;
CLRSCR;
END;
PROCEDURE START;
BEGIN
TEXTBACKGROUND(BLACK);
CLRSCR;KUNING;
GOTOXY(29, 9);WRITELN('http://layla-innocent.blogspot.com');
GOTOXY(15,11);WRITELN('MOHON TEKAN TOMBOL ALT+ENTER UNTUK TAMPILAN FULLSCREEN...');
GOTOXY(15,13);WRITELN('SETELAH ITU SILAHKAN TEKAN ENTER UNTUK MEMULAI PROGRAM...');
GOTOXY(35,15);WRITELN('TERIMA KASIH...!!');
MERAH;
GOTOXY(34,11);WRITELN('ALT+ENTER');
GOTOXY(59,11);WRITELN('FULLSCREEN');
GOTOXY(42,13);WRITELN('ENTER');
PUTIH;
READLN;
END;
PROCEDURE MENUPROGRAM;
BEGIN
BLANK;
PUTIH;
GOTOXY(12,5); WRITELN('8*****************************************************8');
KUNING;
GOTOXY(12,6); WRITELN(' MENU PROGRAM PENGURUTAN DATA ');
PUTIH;
GOTOXY(12,7); WRITELN('=======================================================');
GOTOXY(12, 6);WRITELN('|');GOTOXY(66, 6);WRITELN('|');
GOTOXY(12, 7);WRITELN('|');GOTOXY(66, 7);WRITELN('|');
GOTOXY(12, 8);WRITELN('|');GOTOXY(66, 8);WRITELN('|');
GOTOXY(12, 9);WRITELN('|');GOTOXY(66, 9);WRITELN('|');
GOTOXY(12,10);WRITELN('|');GOTOXY(66,10);WRITELN('|');
GOTOXY(12,11);WRITELN('|');GOTOXY(66,11);WRITELN('|');
GOTOXY(12,12);WRITELN('|');GOTOXY(66,12);WRITELN('|');
GOTOXY(12,13);WRITELN('|');GOTOXY(66,13);WRITELN('|');
GOTOXY(12,14);WRITELN('|');GOTOXY(66,14);WRITELN('|');
GOTOXY(12,15);WRITELN('|');GOTOXY(66,15);WRITELN('|');
GOTOXY(12,16);WRITELN('|');GOTOXY(66,16);WRITELN('|');
GOTOXY(12,17);WRITELN('|');GOTOXY(66,17);WRITELN('|');
GOTOXY(12,18);WRITELN('|');GOTOXY(66,18);WRITELN('|');
GOTOXY(12,18);WRITELN('8*****************************************************8');
PUTIH;
GOTOXY(30,9); WRITELN('1. INPUT DATA');
GOTOXY(30,10);WRITELN('2. MERGESORTING');
GOTOXY(30,11);WRITELN('3. SEARCHING');
GOTOXY(30,12);WRITELN('4. PENGHANCURAN');
GOTOXY(30,16);WRITELN('0. EXIT');
PUTIH;
GOTOXY(2,20);WRITELN('Silahkan tekan tombol 1,2,3 atau 4 pada keyboard anda dan "0" untuk Exit');
END;
PROCEDURE BINGKAI;
BEGIN
CLRSCR;
HIJAU;
GOTOXY(9, 2);WRITELN('8***********************************************************8');
GOTOXY(9, 4);WRITELN('|***********************************************************|');
GOTOXY(9, 6);WRITELN('|***********************************************************|');
GOTOXY(9, 3);WRITELN('|');GOTOXY(69, 3);WRITELN('|');
GOTOXY(9, 5);WRITELN('|');GOTOXY(69, 5);WRITELN('|');
GOTOXY(9, 6);WRITELN('|');GOTOXY(69, 6);WRITELN('|');
GOTOXY(9, 7);WRITELN('|');GOTOXY(69, 7);WRITELN('|');
GOTOXY(9, 8);WRITELN('|');GOTOXY(69, 8);WRITELN('|');
GOTOXY(9, 9);WRITELN('|');GOTOXY(69, 9);WRITELN('|');
GOTOXY(9,10);WRITELN('|');GOTOXY(69,10);WRITELN('|');
GOTOXY(9,11);WRITELN('|');GOTOXY(69,11);WRITELN('|');
GOTOXY(9,12);WRITELN('|');GOTOXY(69,12);WRITELN('|');
GOTOXY(9,13);WRITELN('|');GOTOXY(69,13);WRITELN('|');
GOTOXY(9,14);WRITELN('|');GOTOXY(69,14);WRITELN('|');
GOTOXY(9,15);WRITELN('|');GOTOXY(69,15);WRITELN('|');
GOTOXY(9,16);WRITELN('|');GOTOXY(69,16);WRITELN('|');
GOTOXY(9,17);WRITELN('|');GOTOXY(69,17);WRITELN('|');
GOTOXY(9,18);WRITELN('|');GOTOXY(69,18);WRITELN('|');
GOTOXY(9,19);WRITELN('|');GOTOXY(69,19);WRITELN('|');
GOTOXY(9,20);WRITELN('|');GOTOXY(69,20);WRITELN('|');
GOTOXY(9,21);WRITELN('|');GOTOXY(69,21);WRITELN('|');
GOTOXY(9,22);WRITELN('|');GOTOXY(69,22);WRITELN('|');
GOTOXY(9,23);WRITELN('|');GOTOXY(69,23);WRITELN('|');
GOTOXY(9,24);WRITELN('|');GOTOXY(69,24);WRITELN('|');
GOTOXY(9,24);WRITELN('8***********************************************************8');
END;
PROCEDURE BINGKAI_2;
BEGIN
GOTOXY(1,1) ;WRITELN('===============================================================================');
GOTOXY(1,3) ;WRITELN('===============================================================================');
GOTOXY(1,7);WRITELN('===============================================================================');
GOTOXY(1,9);WRITELN('===============================================================================');
GOTOXY(1,13);WRITELN('===============================================================================');
GOTOXY(1,22);WRITELN('===============================================================================');
END;
PROCEDURE BINGKAI_3;
BEGIN
CLRSCR;
HIJAU;
GOTOXY(9, 7);WRITELN('8***********************************************************8');
GOTOXY(9, 9);WRITELN('|***********************************************************|');
GOTOXY(9, 11);WRITELN('|***********************************************************|');
GOTOXY(9, 8);WRITELN('|');GOTOXY(69, 8);WRITELN('|');
GOTOXY(9, 9);WRITELN('|');GOTOXY(69, 9);WRITELN('|');
GOTOXY(9,10);WRITELN('|');GOTOXY(69,10);WRITELN('|');
GOTOXY(9,11);WRITELN('|');GOTOXY(69,11);WRITELN('|');
GOTOXY(9,12);WRITELN('|');GOTOXY(69,12);WRITELN('|');
GOTOXY(9,13);WRITELN('|');GOTOXY(69,13);WRITELN('|');
GOTOXY(9,14);WRITELN('|');GOTOXY(69,14);WRITELN('|');
GOTOXY(9,15);WRITELN('|');GOTOXY(69,15);WRITELN('|');
GOTOXY(9,16);WRITELN('|');GOTOXY(69,16);WRITELN('|');
GOTOXY(9,17);WRITELN('|');GOTOXY(69,17);WRITELN('|');
GOTOXY(9,18);WRITELN('|');GOTOXY(69,18);WRITELN('|');
GOTOXY(9,19);WRITELN('|');GOTOXY(69,19);WRITELN('|');
GOTOXY(9,20);WRITELN('|');GOTOXY(69,20);WRITELN('|');
GOTOXY(9,21);WRITELN('|');GOTOXY(69,21);WRITELN('|');
GOTOXY(9,22);WRITELN('|');GOTOXY(69,22);WRITELN('|');
GOTOXY(9,23);WRITELN('|');GOTOXY(69,23);WRITELN('|');
GOTOXY(9,24);WRITELN('|');GOTOXY(69,24);WRITELN('|');
GOTOXY(9,24);WRITELN('8***********************************************************8');
END;
{======================================##########===============================}
{===============================CODING PROGRAM UTAMA============================}
PROCEDURE CREATE_ARRAY( VAR DATA : LARIK );
VAR
I : INTEGER;
BEGIN
FOR I := 1 TO MAX DO
DATA[I] := 0 ;
END;
PROCEDURE INPUT_DATA(VAR DATA:LARIK; VAR N:INTEGER);
VAR
I : INTEGER;
BEGIN;
KUNING;
GOTOXY(28, 3);WRITELN('INPUT DATA (CREATE ARRAY)');
PUTIH;
GOTOXY(13, 5);WRITE('PAMASOK DATA SE EKASOKAN, (PALENG BENYAK 15): '); READLN(N);
FOR I := 1 TO N DO
BEGIN
GOTOXY(31,7+ I);WRITE('DATA KE-',I,' : ');READLN(DATA[I]);
END;
END;
PROCEDURE ASCENDING(VAR DATA:LARIK;N:INTEGER);
VAR
I,J : INTEGER;
TEMP: INTEGER;
BEGIN
FOR I := 2 TO N DO
BEGIN
TEMP := DATA[I];
J := I - 1 ;
WHILE ( DATA[J] > TEMP ) AND ( J > 0 ) DO
BEGIN
DATA [ J + 1 ] := DATA[J];
DEC(J);
END;
DATA[ J + 1 ] := TEMP;
END;
END;
PROCEDURE DESCENDING(VAR DATA:LARIK;N:INTEGER);
VAR
I,J : INTEGER;
TEMP: INTEGER;
BEGIN
FOR I := 2 TO N DO
BEGIN
TEMP := DATA[I];
J := I - 1 ;
WHILE ( DATA[J] < TEMP ) AND ( J > 0 ) DO
BEGIN
DATA [ J + 1 ] := DATA[J];
DEC(J);
END;
DATA[ J + 1 ] := TEMP;
END;
END;
PROCEDURE OUTPUT;
BEGIN
WRITE;
WRITELN;
WRITELN;
KUNING;
FOR I := 1 TO N DO
WRITE(DATA[I],' ');
WRITELN;
END;
PROCEDURE SORTING;
BEGIN
HIJAU;
BINGKAI_2;
BIRU;
GOTOXY(19,2);WRITELN('DATA ARRAY YANG TELAH DI INPUT (MASIH ACAK)');GOTOXY(1,14);GOTOXY(1,14);GOTOXY(1,14);
MERAH;
GOTOXY(1,2);OUTPUT;
PUTIH;
GOTOXY(27,11);WRITELN('INSERTION SORT - DESCENDING');
WANIPIRO;
READLN;
TEXTCOLOR(MAGENTA+BLINK);
GOTOXY(27,11);WRITELN('INSERTION SORT - DESCENDING');
TEXTCOLOR(WHITE);
DELAY(500);
DESCENDING(DATA,N);
GOTOXY(1,14);WRITELN('AFTER SORTING DESCENDING : ');
GOTOXY(1,14);OUTPUT;
END;
PROCEDURE BINARY_SEARCH (VAR DATA:LARIK;N:INTEGER);
VAR
ATAS,TENGAH,BAWAH,CARI :INTEGER;
KETEMU :BOOLEAN;
BEGIN
BINGKAI_3;
GOTOXY(1,1);WRITELN('DATA AFTER SORTING DESCENDING : ');
GOTOXY(1,1);OUTPUT;
WRITELN('_______________________________________________________________________________');
GOTOXY(17, 8);WRITELN('PROGRAM PENCARIAN DATA MENGGUNAKAN BINARY SEARCH');
PUTIH;
GOTOXY(11,10);WRITE('MASUKAN BILANGAN YANG AKAN ANDA CARI : ');READLN(CARI);
ATAS:=N;BAWAH:=1;KETEMU:=FALSE;
WHILE NOT(KETEMU) DO
BEGIN
TENGAH:=(ATAS+BAWAH) DIV 2;
IF DATA[TENGAH]=CARI THEN
BEGIN
KETEMU:=TRUE;
GOTOXY(19,15);WRITELN('BILANGAN YANG ANDA CARI BERADA PADA INDEX ');
KEDIP2;
GOTOXY(35,17);WRITELN('KE - ',TENGAH);
END
ELSE IF CARI > DATA[TENGAH] THEN ATAS:=TENGAH-1
ELSE BAWAH:= TENGAH+1;
IF (BAWAH > ATAS) THEN
BEGIN
KETEMU:=TRUE;
KEDIP2;
GOTOXY(16,17);WRITELN('TAK LANGKONG,DATA SE ESARE SAMPEAN TADHEK NENG DATA!');
END;
END;
END;
PROCEDURE PENGHANCURAN_ARRAY(VAR DATA:LARIK;N:INTEGER);
BEGIN
BIRU;
GOTOXY(29,2);WRITELN('PROGRAM PENGHANCURAN ARRAY');
BINGKAI_2;
HIJAU;
GOTOXY(1,4);WRITELN('DATA ARRAY SEBELUM DIHANCURKAN : ');
GOTOXY(1,4);OUTPUT;
GOTOXY(16,11);WRITELN('SILAHKAN TEKAN ENTER UNTUK MENGHANCURKAN ARRAY..!');
KEDIP2;
GOTOXY(31,11);WRITELN('ENTER');
READLN;
TEXTCOLOR(GREEN+BLINK);
GOTOXY(9,11);WRITELN('ARRAY TELAH DI HANCURKAN DAN DI KEMBALIKAN KENILAI "0" SEMUA');
PUTIH;
FOR I := 1 TO N DO
BEGIN
DATA[I] := 0;
END;
MERAH;
GOTOXY(1,14);WRITELN('DATA ARRAY SETELAH DI HANCURKAN : ');
GOTOXY(1,14);
OUTPUT;
END;
PROCEDURE MENU( PILIH:CHAR);
BEGIN
CASE PILIH OF
'1' : BEGIN
TEXTCOLOR(RED+BLINK);
GOTOXY(30,9);WRITELN('1. INPUT DATA');
DELAY(1000);
CLRSCR;
BUKA;
HIJAU;
BINGKAI;
INPUT_DATA(DATA,N);
READLN;
BLANK;
CLRSCR;
END;
'2' : BEGIN
TEXTCOLOR(RED+BLINK);
GOTOXY(30,10);WRITELN('2. SORTING');
DELAY(1000);
CLRSCR;
HAPUSATASKEBAWAH;
PUTIH;
SORTING;
READLN;
BLANK;
CLRSCR;
END;
'3' : BEGIN
TEXTCOLOR(RED+BLINK);
GOTOXY(30,11);WRITELN('3. SEARCHING');
DELAY(1000);
CLRSCR;
HAPUSBAWAHKEATAS;
PUTIH;
BINARY_SEARCH(DATA,N);
READLN;
BLANK;
CLRSCR;
END;
'4' : BEGIN
TEXTCOLOR(RED+BLINK);
GOTOXY(30,12);WRITELN('4. PENGHANCURAN');
DELAY(1000);
CLRSCR;
HAPUSKIRIKEKANAN;
PUTIH;
PENGHANCURAN_ARRAY(DATA,N);
READLN;
BLANK;
CLRSCR;
END;
'0' : BEGIN
TEXTCOLOR(RED+BLINK);
GOTOXY(30,16);WRITELN('0. EXIT');
DELAY(1000);
TUTUP;
BUKAX;
ENDING;
FINISHING;
CLRSCR;
END;
END;
END;
BEGIN
CLRSCR;
START;
DEMO;
DATA_PENULIS;
TEXTCOLOR(BLACK);
CLRSCR;
REPEAT
TEXTCOLOR(BLACK);
MENUPROGRAM;
SPASI;
PILIH:=READKEY;
MENU(PILIH);
UNTIL PILIH='0'
END.
{layla_innocent@yahoo.coM}
hye... selamat datang di blog's favorit kamu.... Jangan Lupa Tinggalin Pesan dan saran yo...
Tampilkan postingan dengan label CODING PASCAL. Tampilkan semua postingan
Tampilkan postingan dengan label CODING PASCAL. Tampilkan semua postingan
Sabtu, 14 Juli 2012
CASE OF:Menu Makanan
program menu_pilihan;
uses wincrt;
var harga,tambah,menu,total,jumlah,plus,i:longint;
var porsi,porsi2,jenis,nama,najen:string;
begin
writeln(' MENU-MENU ALA LAYLA ');
writeln(' -----------------------------');
writeln(' Menu Yang Tersedia');
writeln(' 1. Nasi Goreng Sapi ');
writeln(' 2. Nasi Goreng Ayam ');
writeln(' 3. Mie Goreng Sapi ');
writeln(' 4. Mie Goreng Ayam ');
writeln(' 5. Soto ');
writeln(' 6. Keluar ');
writeln;
write(' Masukkan menu pilihan anda : ');readln(menu);
case menu of
1: begin
harga:=6000;
nama:='Nasi Goreng Sapi';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
2: begin
harga:=5000;
nama:='Nasi Goreng Ayam';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
3: begin
harga:=6000;
nama:='Mie Goreng Sapi ';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
4: begin
harga:=5000;
nama:='Mie Goreng Ayam ';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
5: begin
harga:=4000;
nama:='Soto ';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
6: begin
end;
end;
if porsi='besar' then
begin
tambah:=3000;
porsi2:='Besar';
end;
if porsi='sedang' then
begin
tambah:=2000;
porsi2:='Sedang';
end;
if porsi='kecil' then
begin
tambah:=1000;
porsi2:='Kecil';
end;
if jenis='DT' then
begin
plus:=0;
najen:='Di tempat';
end;
if jenis='TH' then
begin
plus:=2000;
najen:='Take Home';
end;
jumlah:=harga+tambah;
total:=jumlah+plus;
if menu<=5 then
begin
writeln;
writeln;
writeln(' =============================');
writeln;
writeln;
writeln(' Pesanan Anda ');
writeln;
writeln(' ',nama,' : ','Rp. ',jumlah,',-');
writeln(' Porsi : ',porsi2);
writeln(' Jenis : ',najen);
writeln(' Total : Rp. ',total,',-');
readkey();
end;
end.
http://Layla-innocent.blogspot.com
uses wincrt;
var harga,tambah,menu,total,jumlah,plus,i:longint;
var porsi,porsi2,jenis,nama,najen:string;
begin
writeln(' MENU-MENU ALA LAYLA ');
writeln(' -----------------------------');
writeln(' Menu Yang Tersedia');
writeln(' 1. Nasi Goreng Sapi ');
writeln(' 2. Nasi Goreng Ayam ');
writeln(' 3. Mie Goreng Sapi ');
writeln(' 4. Mie Goreng Ayam ');
writeln(' 5. Soto ');
writeln(' 6. Keluar ');
writeln;
write(' Masukkan menu pilihan anda : ');readln(menu);
case menu of
1: begin
harga:=6000;
nama:='Nasi Goreng Sapi';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
2: begin
harga:=5000;
nama:='Nasi Goreng Ayam';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
3: begin
harga:=6000;
nama:='Mie Goreng Sapi ';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
4: begin
harga:=5000;
nama:='Mie Goreng Ayam ';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
5: begin
harga:=4000;
nama:='Soto ';
write(' Porsi (kecil/sedang/besar) : ');readln(porsi);
write(' Jenis(DT/TH) : ');readln(jenis);
end;
6: begin
end;
end;
if porsi='besar' then
begin
tambah:=3000;
porsi2:='Besar';
end;
if porsi='sedang' then
begin
tambah:=2000;
porsi2:='Sedang';
end;
if porsi='kecil' then
begin
tambah:=1000;
porsi2:='Kecil';
end;
if jenis='DT' then
begin
plus:=0;
najen:='Di tempat';
end;
if jenis='TH' then
begin
plus:=2000;
najen:='Take Home';
end;
jumlah:=harga+tambah;
total:=jumlah+plus;
if menu<=5 then
begin
writeln;
writeln;
writeln(' =============================');
writeln;
writeln;
writeln(' Pesanan Anda ');
writeln;
writeln(' ',nama,' : ','Rp. ',jumlah,',-');
writeln(' Porsi : ',porsi2);
writeln(' Jenis : ',najen);
writeln(' Total : Rp. ',total,',-');
readkey();
end;
end.
http://Layla-innocent.blogspot.com
DERET HITUNG:Kelipatan tiga
uses crt;
var
a,i,n:integer;
pil:char;
begin
clrscr;
write('program penghitungan deret hitung,silahkan klik enter:');readln;
writeln;
writeln;
write('Msukkan suku pertama:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+3;
write('.........)
end;
readln;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+2;
end;
readln;
end;
'T':begin
write('Thanks'); readln;
end;
end;
readln;
end.
http://layla-innocent.blogspot.com
var
a,i,n:integer;
pil:char;
begin
clrscr;
write('program penghitungan deret hitung,silahkan klik enter:');readln;
writeln;
writeln;
write('Msukkan suku pertama:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+3;
write('.........)
end;
readln;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+2;
end;
readln;
end;
'T':begin
write('Thanks'); readln;
end;
end;
readln;
end.
http://layla-innocent.blogspot.com
BARIS BINTANG:Tingkat 3
uses crt;
var
x,y,z : integer;
begin
clrscr;
write ('masukan jumlah baris: ');
readln(x);
for y:=1 to x do
begin
for z:=1 to x-y do
begin
write(' ');
end;
for z:=1 to y do
begin
write('* ');
end;
writeln(x);
end;
readln(x);
end.
http://Layla-innocent.blogspot.com
var
x,y,z : integer;
begin
clrscr;
write ('masukan jumlah baris: ');
readln(x);
for y:=1 to x do
begin
for z:=1 to x-y do
begin
write(' ');
end;
for z:=1 to y do
begin
write('* ');
end;
writeln(x);
end;
readln(x);
end.
http://Layla-innocent.blogspot.com
CONTOH ARRAY:input data-data mahasiswa
PROGRAM pemakaian_Array_Untuk_10_data_dengan_menggunakan_For;
USES CRT;
CONSt
garis='------------------------------------------------------';
VAR
nil1,nil2 : ARRAY [1..10] OF 0..100; {Array dgn Type subjangkauan}
npm : ARRAY [1..10] OF STRING[8];
nama : ARRAY [1..10] OF STRING[15];
n,i,bar : INTEGER;
jum : REAL;
t1: CHAR;
BEGIN
CLRSCR;
{ pemasukan data dalam array }
WRITE('MAU ISI BERAPA DATA :');
READLN(N);
FOR i:= 1 TO n DO
BEGIN
CLRSCR;
GOTOXY(30,4+1); WRITE('DATA KE-:',i:2);
GOTOXY(10,5+i); WRITE('NPM :'); READLN(NPM[i]);
GOTOXY(10,6+i); WRITE('NAMA :'); READLN(NAMA[i]);
GOTOXY(10,7+i); WRITE('NILAI 1 :'); READLN(NIL1[i]);
GOTOXY(10,8+i); WRITE('NILAI 2 :'); READLN(NIL2[i]);
END;
{ proses data dalam array }
CLRSCR;
GOTOXY(5,4); WRITE(GARIS);
GOTOXY(5,5); WRITE('NO');
GOTOXY(9,5); WRITE('NPM');
GOTOXY(18,5); WRITE('NAMA');
GOTOXY(34,5); WRITE('NIL.1');
GOTOXY(41,5); WRITE('NIL.2');
GOTOXY(47,5); WRITE('RATA');
GOTOXY(54,5); WRITE('ABJAD');
GOTOXY(5,6); WRITE(GARIS);
{ proses Cetak isi array dan seleksi kondisi }
bar:=7;
FOR i:= 1 TO n DO
BEGIN
jum:=(nil1[i]+nil2[i])/2;
IF jum>=90 THEN t1:='A'
ELSE
IF jum>80 THEN t1:='B'
ELSE
IF jum>60 then t1:='C'
ELSE
IF jum>50 THEN t1:='D'
ELSE
t1:='E';
{ cetak hasil yang disimpan di array dan hasil }
{ penyeleksian kondisi }
GOTOXY(5,bar); WRITELN(i:2);
GOTOXY(9,bar); WRITELN(NPM[i]);
GOTOXY(18,bar); WRITELN(NAMA[i]);
GOTOXY(34,bar); WRITELN(NIL1[i]:4);
GOTOXY(41,bar); WRITELN(NIL2[i]:4);
GOTOXY(47,bar); WRITELN(jum:5:1);
GOTOXY(54,bar); WRITELN(t1);
bar:=bar+1;
END;
GOTOXY(5,bar+1);WRITELN(garis);
READLN;
END.
http://Layla-innocent.blogspot.com
USES CRT;
CONSt
garis='------------------------------------------------------';
VAR
nil1,nil2 : ARRAY [1..10] OF 0..100; {Array dgn Type subjangkauan}
npm : ARRAY [1..10] OF STRING[8];
nama : ARRAY [1..10] OF STRING[15];
n,i,bar : INTEGER;
jum : REAL;
t1: CHAR;
BEGIN
CLRSCR;
{ pemasukan data dalam array }
WRITE('MAU ISI BERAPA DATA :');
READLN(N);
FOR i:= 1 TO n DO
BEGIN
CLRSCR;
GOTOXY(30,4+1); WRITE('DATA KE-:',i:2);
GOTOXY(10,5+i); WRITE('NPM :'); READLN(NPM[i]);
GOTOXY(10,6+i); WRITE('NAMA :'); READLN(NAMA[i]);
GOTOXY(10,7+i); WRITE('NILAI 1 :'); READLN(NIL1[i]);
GOTOXY(10,8+i); WRITE('NILAI 2 :'); READLN(NIL2[i]);
END;
{ proses data dalam array }
CLRSCR;
GOTOXY(5,4); WRITE(GARIS);
GOTOXY(5,5); WRITE('NO');
GOTOXY(9,5); WRITE('NPM');
GOTOXY(18,5); WRITE('NAMA');
GOTOXY(34,5); WRITE('NIL.1');
GOTOXY(41,5); WRITE('NIL.2');
GOTOXY(47,5); WRITE('RATA');
GOTOXY(54,5); WRITE('ABJAD');
GOTOXY(5,6); WRITE(GARIS);
{ proses Cetak isi array dan seleksi kondisi }
bar:=7;
FOR i:= 1 TO n DO
BEGIN
jum:=(nil1[i]+nil2[i])/2;
IF jum>=90 THEN t1:='A'
ELSE
IF jum>80 THEN t1:='B'
ELSE
IF jum>60 then t1:='C'
ELSE
IF jum>50 THEN t1:='D'
ELSE
t1:='E';
{ cetak hasil yang disimpan di array dan hasil }
{ penyeleksian kondisi }
GOTOXY(5,bar); WRITELN(i:2);
GOTOXY(9,bar); WRITELN(NPM[i]);
GOTOXY(18,bar); WRITELN(NAMA[i]);
GOTOXY(34,bar); WRITELN(NIL1[i]:4);
GOTOXY(41,bar); WRITELN(NIL2[i]:4);
GOTOXY(47,bar); WRITELN(jum:5:1);
GOTOXY(54,bar); WRITELN(t1);
bar:=bar+1;
END;
GOTOXY(5,bar+1);WRITELN(garis);
READLN;
END.
http://Layla-innocent.blogspot.com
INPUT NAMA-NPM
program data_mahasiswa;
var Nama,NPM,hasil:string;
begin
writeln('Masukkan Nama Dan NPM Anda');
writeln('----------------------------');
write('Nama Anda:');readln(Nama);
Write('NPM Anda:');readln(NPM);
writeln('Nama dan NPM Anda Masukkan Adalah:',Nama, NPM);
readln;
end.
http://Layla-innocent.blogspot.com
var Nama,NPM,hasil:string;
begin
writeln('Masukkan Nama Dan NPM Anda');
writeln('----------------------------');
write('Nama Anda:');readln(Nama);
Write('NPM Anda:');readln(NPM);
writeln('Nama dan NPM Anda Masukkan Adalah:',Nama, NPM);
readln;
end.
http://Layla-innocent.blogspot.com
KALKULATOR-PENAMBAHAN
program kalkulator;
var n1,n2,h:real;
begin
writeln('Program Kalkulatorku');
write('Angka Pertama= ');readln(n1);
write('Angka Kedua= ');readln(n2);
h:=n1+n2;
writeln('Hasilnya Adalah= ',h:0:0);
readln;
end.
http://layla-innocent.blogspot.com
var n1,n2,h:real;
begin
writeln('Program Kalkulatorku');
write('Angka Pertama= ');readln(n1);
write('Angka Kedua= ');readln(n2);
h:=n1+n2;
writeln('Hasilnya Adalah= ',h:0:0);
readln;
end.
http://layla-innocent.blogspot.com
DERET ANGKA
uses crt;
var
a,i,n:integer;
pil:char;
begin
clrscr;
write('Program ini adalah program penghitungan deret angka setiap suku angka.');
write('langkah kerja program ini yaitu tinggal memasukkan angka dan kemudian tekan enter untuk');
write('mengetahui hasil dan menuju tahap selanjutnya'); readln;
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
end;
end;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
end;
end;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
end;
end;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
end;
'T':begin
write('Thanks'); readln;
end;
end;
readln;
end.
http://Layla-innocent.blogspot.com
var
a,i,n:integer;
pil:char;
begin
clrscr;
write('Program ini adalah program penghitungan deret angka setiap suku angka.');
write('langkah kerja program ini yaitu tinggal memasukkan angka dan kemudian tekan enter untuk');
write('mengetahui hasil dan menuju tahap selanjutnya'); readln;
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
end;
end;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
end;
end;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
end;
end;
write('Hitung lagi[Y/T]?'); readln(pil);
case(pil)of
'Y':begin
write('Msukkan suku ke:'); readln(n);
a:=3;
for i:=1 to n do
begin
write(a);
write('');
a:=a+4;
end;
readln;
end;
'T':begin
write('Thanks'); readln;
end;
end;
readln;
end.
http://Layla-innocent.blogspot.com
Menghitung Luas Lingkaran-segitiga-persegi panjang
Uses crt;
Var
a, b, t, PJ, r, lb, L: real;
ops : integer;
Const
c1 = 1/2;
phi = 3.14;
Begin
ClrScr;
TextColor(Green);
Writeln ('l-------------------------------------------------------l');
Writeln ('l << PILIHAN >> l');
Writeln ('l-------------------------------------------------------l');
Writeln ('l 1.Menghitung Luas Lingkaran l');
Writeln ('l 2.Menghitung Luas Segitiga l');
Writeln ('l 3.Menghitung Luas Persegi Panjang l');
Writeln ('l-------------------------------------------------------l');
Writeln ('l Pilihan Nomer Berapa {1-3} : l');
Writeln ('l-------------------------------------------------------l');
Writeln;
Readln (ops);
Case ops of
1:
Begin
L:= phi*r*r;
Write ('Masukkan Jari-Jari Lingkaran = ');
Readln (r);
Writeln;
L:= phi*r*r;
Writeln ('Luas Lingkaran Adalah = ',L:4:6);
Readln;
End;
2:
Begin
L:= a*t*c1;
Write ('Masukkan Nilai Alas = ');
Readln (a);
Write ('Masukkan Nilai Tinggi = ');
Readln (t);
Writeln;
L:= a*t*c1;
Writeln ('Luas Segitiga Adalah = ',L:4:6);
Readln;
End;
3:
Begin
L:= PJ*lb;
Write ('Masukkan Nilai Panjang = ');
Readln (PJ);
Write ('Masukkan Nilai Lebar = ');
Readln(lb);
Writeln;
L:= PJ*lb;
Writeln ('Luas Persegi Panjang Adalah = ', L:4:6 );
Readln;
End;
Else
Write ('Ngawuuur, Pilihan Anda Salah !! ');
Readln;
End;
End.
http://layla-innocent.blogspot.com
Var
a, b, t, PJ, r, lb, L: real;
ops : integer;
Const
c1 = 1/2;
phi = 3.14;
Begin
ClrScr;
TextColor(Green);
Writeln ('l-------------------------------------------------------l');
Writeln ('l << PILIHAN >> l');
Writeln ('l-------------------------------------------------------l');
Writeln ('l 1.Menghitung Luas Lingkaran l');
Writeln ('l 2.Menghitung Luas Segitiga l');
Writeln ('l 3.Menghitung Luas Persegi Panjang l');
Writeln ('l-------------------------------------------------------l');
Writeln ('l Pilihan Nomer Berapa {1-3} : l');
Writeln ('l-------------------------------------------------------l');
Writeln;
Readln (ops);
Case ops of
1:
Begin
L:= phi*r*r;
Write ('Masukkan Jari-Jari Lingkaran = ');
Readln (r);
Writeln;
L:= phi*r*r;
Writeln ('Luas Lingkaran Adalah = ',L:4:6);
Readln;
End;
2:
Begin
L:= a*t*c1;
Write ('Masukkan Nilai Alas = ');
Readln (a);
Write ('Masukkan Nilai Tinggi = ');
Readln (t);
Writeln;
L:= a*t*c1;
Writeln ('Luas Segitiga Adalah = ',L:4:6);
Readln;
End;
3:
Begin
L:= PJ*lb;
Write ('Masukkan Nilai Panjang = ');
Readln (PJ);
Write ('Masukkan Nilai Lebar = ');
Readln(lb);
Writeln;
L:= PJ*lb;
Writeln ('Luas Persegi Panjang Adalah = ', L:4:6 );
Readln;
End;
Else
Write ('Ngawuuur, Pilihan Anda Salah !! ');
Readln;
End;
End.
http://layla-innocent.blogspot.com
Langganan:
Postingan (Atom)