Jumat

penggalan program buat ujian (1IA01-1IA09) ver 2 + LA Pengulangan

DECLARE SUB Irisan ()
DECLARE FUNCTION CekIsi! (Isi$, Himp() AS STRING)
DECLARE SUB HimA ()
DECLARE SUB HimB ()
DECLARE SUB Gabung ()
DECLARE SUB Selisih ()
CLS
DIM SHARED HimpA(10) AS STRING
DIM SHARED HimpB(10) AS STRING
DIM SHARED HimHasil(20) AS STRING
DIM SHARED HimIris(10) AS STRING
DIM SHARED HimSel(20) AS STRING
DIM SHARED IsiHm AS STRING

DIM SHARED nA, nB AS INTEGER

CLS
DO
CLS
LOCATE 5, 16
COLOR 9
PRINT "MAU PILIH YANG MANA ?"
LOCATE 6, 16
COLOR 10
PRINT "<<< PILIH DEH >>>"
LOCATE 8, 16
COLOR 3
PRINT "1. INPUT HIMP-A"
LOCATE 9, 16
PRINT "2. INPUT HIMP-B"
LOCATE 10, 16
PRINT "3. GABUNGAN HIMP-A & HIMP-B"
LOCATE 11, 16
PRINT "4. IRISAN HIMP-A & HIMP-B"
LOCATE 12, 16
PRINT "5. SELISIH HIMP-A & HIMP-B"
LOCATE 13, 16
PRINT "X. 3X1T..."
LOCATE 15, 16
COLOR 7
INPUT "Masukkan pilihan Anda ? ", nom$
SELECT CASE nom$
CASE IS = "1"
HimA
INPUT "", p$
CASE "2"
HimB
INPUT "", p$
CASE "3"
Gabung
INPUT "", p$
CASE "4"
Irisan
INPUT "", p$
CASE "5"
Selisih
INPUT "", p$
CASE "X", "x"
LOCATE 16, 16
COLOR 7
PRINT "Bye - Bye"
EXIT DO
CASE ELSE
LOCATE 16, 16
COLOR 4
BEEP
PRINT "MASUKIN PILIHANNYA YANG BENER, DONG!"
INPUT "", p$
END SELECT
LOOP UNTIL UCASE$(nom$) = "X"

END

FUNCTION CekIsi! (Isi$, Himp() AS STRING)

CekIsi = 1

FOR w = 1 TO nA
IF Isi$ = Himp(w) THEN
CekIsi = 0
END IF
NEXT w

END FUNCTION

SUB Gabung

CLS
Jum = nA
FOR i = 1 TO nA
HimHasil(i) = HimpA(i)
NEXT i

FOR k = 1 TO nB
IsiHm = HimpB(k)
IF CekIsi(HimpB(k), HimHasil()) = 1 THEN
Jum = Jum + 1
HimHasil(Jum) = HimpB(k)
END IF
NEXT k

PRINT "Himp Gabungan = {";
FOR o = 1 TO Jum
PRINT HimHasil(o);
IF o <> Jum THEN PRINT ",";
NEXT o
PRINT "}"

END SUB

SUB HimA

CLS
PRINT "Input Isi Himp A (max 10)!"
INPUT "Jumlah Himp A : ", nA

IF nA > 10 THEN END

PRINT "{";
INPUT "", HimpA(1)
rows% = CSRLIN
cols% = POS(0)
FOR i = 2 TO nA
LOCATE (rows% - 1), (cols% + 4 * (i - 1))
INPUT ",", HimpA(i)
NEXT i
LOCATE (rows% - 1), (cols% + 4 * (i - 1))
PRINT "}"

PRINT "Himp A = {";
FOR k = 1 TO nA
PRINT HimpA(k);
IF k <> nA THEN PRINT ",";
NEXT k
PRINT "}"

END SUB

SUB HimB

CLS
PRINT "Input Isi Himp B (max 10)!"
INPUT "Jumlah Himp B : ", nB

IF nB > 10 THEN END

PRINT "{";
INPUT "", HimpB(1)
rows% = CSRLIN
cols% = POS(0)
FOR i = 2 TO nB
LOCATE (rows% - 1), (cols% + 4 * (i - 1))
INPUT ",", HimpB(i)
NEXT i
LOCATE (rows% - 1), (cols% + 4 * (i - 1))
PRINT "}"

PRINT "Himp B = {";
FOR k = 1 TO nB
PRINT HimpB(k);
IF k <> nB THEN PRINT ",";
NEXT k
PRINT "}"

END SUB

SUB Irisan

CLS

iris = 0

FOR i = 1 TO nA
FOR k = 1 TO nB
IF HimpA(i) = HimpB(k) THEN
iris = iris + 1
HimIris(iris) = HimpA(i)
END IF
NEXT k
NEXT i

PRINT "Irisan HimpA & HimpB = {";
FOR o = 1 TO iris
PRINT HimIris(o);
IF o <> iris THEN PRINT ",";
NEXT o
PRINT "}"

END SUB

SUB Selisih

CLS

Sel = 0

FOR i = 1 TO nA
IF CekIsi(HimpA(i), HimpB()) = 1 THEN
Sel = Sel + 1
HimSel(Sel) = HimpA(i)
END IF
NEXT i

PRINT "Selisih HimpA-HimpB = {";
FOR o = 1 TO Sel
PRINT HimSel(o);
IF o <> Sel THEN PRINT ",";
NEXT o
PRINT "}"

END SUB

1 komentar:

chaoses90 mengatakan...

gw senang lw jadi PJ d lab 4b.
materi yg lw kasih juga cepat nyerap buat gw.
pokonya good luck dah uat lw..