“PROGRAM TURBO BASIC & HASIL PROGRAMNYA”
Latihan 1 : Menghitung Luas Persegi Panjang
rem menghitung luas persegi panjang
cls
print “tentukan luas persegi panjang bila diketahui :”
input “panjang = “, p
input “lebar = “, l
print “luas persegi panjangnya adalah =” ; p*l
end
Hasil :
tentukan luas persegi panjang bila diketahui
panjang = 2
lebar = 3
luas persegi panjangnya adalah = 6
Latihan 2 : Menghitung Luas Persegi Panjang
rem menghitung luas persegi panjang
cls
input “panjang1=35”, p1
input “lebar1=5”, l1
print “luas persegi panjang1=”, p1*l1
input “panjang2=20”, p2
input “lebar2=10”, l2
print “luas persegi panjang2=”, p2*l2
input “panjang3=25”, p3
input “lebar3=5, l3
print “luas persegi panjang3=”, p3*l3
input “panjang4=125”, p4
input “lebar4=75”, l4
print “luas persegi panjang4=”, p4*l4
end
Latihan 3 : Menghitung Luas Segitiga
rem program menghitung luas segitiga
cls
print “menghitung luas segitiga”
input “masukkan nilai alas=”,a
input “masukkan nilai tinggi=”,t
print “luas segitiganya adalah=”a*t/2
print “alhamdulillah.…programnya berhasil”
end
Hasil :
menghitung luas segitiga
masukkan nilai alas=5
masukkan nilai tinggi=7
luas segitiganya adalah= 17,5
alhamdulillah….programnya berhasil
Latihan 4 : Deret Matematika
REM mencari deret
cls
x=1
mulai:
y=y+x
x=x+1
if x<=100 goto mulai
print “1+2+3+…+100=”;y
end
Hasil :
1+2+3+…+100= 5050
Latihan 5 : Instruksi IF-THEN
REM program mencari bilangan positif, negatif, nol
input “ketikkan suatu bilangan: “;bil
if bil > 0 then print “bilangan positif”
if bil < 0 then print “bilangan negatif”
if bil = 0 then print “bilangan nol”
end
Hasil :
ketikkan suatu bilangan: ? 5
bilangan positif
ketikkan suatu bilangan: ? 7
bilangan positif
ketikkan suatu bilangan: ? -2
bilangan negatif
ketikkan suatu bilangan: ? 0
bilangan nol
Latihan 6 : Maximum
REM program mencari maksimum
cls
dim x(12)
for i=1 to 12
read x(i)
print (i);
next i
data 60, 30, 90, 40, 66, 50, 80, 45, 55, 65, 68, 78
max = x(1)
for i=2 to 12
if x(i) > max then
max =x(i)
end if
next i
print “max”; max
Hasil :
1 2 3 4 5 6 7 8 9 10 11 12 max 90
Latihan 7 : GOSUB…RETURN
REM program mencari akar persamaan kuadrat
REM program utama
cls
print “y=ax^2+bx+c”
print “___________”
input “masukkan nilai a=”;a
input “masukkan nilai b=”;b
input “masukkan nilai c=”;c
REM menuju subroutine diskriminan
GOSUB diskriminan
x1=(-b+sqr(dis))/(2*a)
x2=(-b+sqr(dis))/(2*a)
print “”x1=”;x1
print “x2=”;x2
end
REM subroutine diskriminan
diskriminan:
dis=b^2-4*a*c
if dis<0 then
print “akar persamaan adalah bilangan imajiner”
end
end if
return
Hasil :
y=ax^2+bx+c
____________
masukkan nilai a=? 4
masukkan nilai b=? 3
masukkan nilai c=? 2
akar persamaan adalah bilangan imajiner
Latihan 8 : Induksi DEF FN
REM fungsi untuk menghitung diskriminan
DEF FNDis (d, e, f) = e^2 – 4*d*f
REM program utama
cls
rem menampilkan judul program
print “program menghitung akar-akar persamaan kuadrat”
print “_________________________________________”
print
rem memasukkan nilai A, B, dan C
input “masukkan nilai A=”,A
input “masukkan nilai B=”,B
input “masukkan nilai C=”,C
print
rem menghitung diskriminan
diskriminan = FNDis(A,B,C)
rem menampilkan nilai diskriminan
print “nilai diskriminan =”; diskriminan
rem jika diskriminan < 0
IF diskriminan <0 THEN
rem menghitung akar imajiner
diskriminan=SQR(ABS(diskriminan))/(2*a)
x1$=STR$(-b/(2*a))+”+”+STR$(diskriminan)+”i”
x2$=STR$(-b/(2*a))+”+”+STR$(diskriminan)+”i”
rem jika diskriminan <=0
ELSE
rem menghitung akar kembar dan nyata
x1$=STR$((-b+SQR(diskriminan))/(2*a))
x1$=STR$((-b-SQR(diskriminan))/(2*a))
END IF
rem tampilkan nilai akar x1 dan x2
print “nilai x1 = “;x1$
print “nilai x2 = “;x2$
Hasil :
program menghitung akar-akar persamaan kuadrat
_________________________________________
masukkan nilai A=2
masukkan nilai A=7
masukkan nilai A=5
nilai diskriminan = 9
nilai x1 = -1
nilai x2 = -2,5
Latihan 9 : Array
REM program untuk Array berdimensi banyak
REM program untuk menghasilkan transpose matriks 3x3
CLS
REM mendefinisikan Array dimensi 2.
REM dengan subskrip 3x3
DIM matriks (3,3)
REM menginputkan isi matriks 3x3
For baris = 1 to 3
For kolom = 1 to 3
Print “matriks baris “;baris;”kolom”;kolom; “”;
input matriks (baris,kolom)
Next kolom
Next baris
REM menampilkan transpose matriks
For baris = 1 to 3
For kolom = 1 to 3
Print matriks (kolom, baris);””;
Next kolom
Print
Next baris
Hasil :
matriks baris 1 kolom 1 ? 3
matriks baris 1 kolom 2 ? 3
matriks baris 1 kolom 3 ? 3
matriks baris 2 kolom 1 ? 3
matriks baris 2 kolom 2 ? 3
matriks baris 2 kolom 3 ? 3
matriks baris 3 kolom 1 ? 3
matriks baris 3 kolom 2 ? 3
matriks baris 3 kolom 3 ? 3
3 3 3
3 3 3
3 3 3
Latihan 10 : Rekursi
rem mencari nilai faktorial
cls
f=1
input “nilai yang difaktorialkan”;n
for x=1 to n
f=f*x
next x
print n;”!=”;f
Hasil :
nilai yang difaktorialkan? 5
5 != 120
Latihan 11 : Relasi
cls
rem program relasi
print “Tabel Relasi”
print “string$(50, “=”)
print “r1”;tab(6);”r2”;tab(12);”r3”;tab(25);”r1 and r2”;tab(40);”r1 or r3”
print string$(50,”=”)
for i=1 to 6
read x,y
r1=x^2+y^2<=16
r2=y^2-x>=5
r3=y-x>2
print r1;tab(6);r2;tab(12);r3;tab(27);r1 and r2;tab(43);r1 or r3
next i
data -3, 1
data 0, 0
data 1, 3
data 5, 1
data 4, 5
data 8, -4
print string$(50,”=”)
print “Ket. -1=Benar, 0=Salah”
Hasil :
Tabel Relasi
0
r1 r2 r3 r1 and r2 r1 or r3
========================================
-1 0 -1 0 -1
-1 0 0 0 -1
-1 -1 0 -1 -1
0 0 0 0 0
0 -1 0 0 0
0 -1 0 0 0
========================================
Ket. -1=Benar, 0=Salah
Latihan 12 : Matriks Relasi
cls
rem membuat matriks relasi
print
print “Tabel Relasi”
print “_____________________________”
print “r1”;tab(6);”r2”;tab(10);”r3”;tab(20);”Periksa”
print “_____________________________”
for i=1 to 7
read x,y
r1=x*y>=1
r2=x^2*y^2<=9
r3=y^2<x
periksa = r1 or r3 and r2
print r1 ; tab(6) ; r2 ; tab(10) ; r3 ; tab(20) ; periksa
next i
data 1, 2
data -1, 5
data 4, 4
data 4, -1
data 3, 1
data 1, 3
data 1, 5
print “_____________________________”
print “ket. -1=benar, 0=Salah”
Hasil :
Tabel Relasi
________________________________
r1 r2 r3 Periksa
________________________________
-1 -1 0 -1
0 0 0 0
-1 0 0 -1
0 0 -1 0
-1 -1 -1 -1
-1 -1 0 -1
-1 0 0 -1
________________________________
Ket. -1=Benar, 0=Salah
Latihan 13 : Sifat Refleksif
cls
rem program pemeriksaan sifat refleksif
print “relasi R=(a,b) : a<=b untuk x=(1, 2, 3, 4)”
for a=1 to 4
for b=1 to 4
MR (a,b) = a<=b
print MR(a,b);
next b
print
next a
rem pemeriksaan refleksif
for i=1 to 4
for j=1 to 4
if MR (i,i) <> -1 then
print “relasi tersebut tidak refleksif”
end
end if
next j
next i
print “relasi tersebut adalah refleksif….alhamdulillah”
Hasil :
relasi R=(a,b) : a<=b untuk x=(1, 2, 3, 4)
-1 -1 -1 -1
0 -1 -1 -1
0 0 -1 -1
0 0 0 -1
Relasi tersebut adalah refleksif….Alhamdulillah
Latihan 14 : Relasi Simetris
cls
rem program relasi simetris
print “matriks relasi simetris”
for x=1 to 4
for y=1 to 4
read MR(x,y)
print MR(x,y);
next y
print
next x
print
data 1, 1, 0, 1
data 1, 1, 0, 0
data 0, 0, 1, 0
data 1, 0, 0, 1
rem pemeriksaan relasi simetris
for x=1 to 4
for y=1 to 4
if MR(x,y) <> MR(y,x) then
print “relasi tersebut tidak simetris”
end if
next y
print
next x
print “relasi tersebut adalah simetris…alhamdulillah”
Latihan 15 : Menara Hanoi
menara hanoi
uses crt;
procedure menarahanoi (jumlah : integer;
sumber, tujuan, bantuan : char;
var langkah, jumlah_a,
jumlah_b, jumlah_c, waktu : integer);
var
baris_sumber, kolom_sumber,
baris_tujuan, kolom_tujuan : integer;
begin
if jumlah > 0 then
begin
menarahanoi(jumlah-1, sumber, bantuan, tujuan,
langkah, jumlah_a, jumlah_b, jumlah_c, waktu);
langkah := langkah+1;
if sumber = ‘a’ then
begin
kolom_sumber := 30;
baris_sumber := 24-jumlah_a;
jumlah_a := jumlah_a-1;
end
else
if sumber = ‘b’ then
begin
kolom_sumber := 40;
baris_sumber := 24-jumlah_b;
jumlah_b := jumlah_b-1;
end
else
begin
kolom_sumber := 50;
baris_sumber := 24-jumlah_c;
jumlah_c := jumlah_c-1;
end;
if tujuan = ‘a’ then
begin
kolom_tujuan := 30;
jumlah_a := jumlah_a+1;
baris_tujuan :=24-jumlah_a;
end
else
if tujuan = ‘b’ then
begin
kolom_tujuan := 40;
jumlah_b := jumlah_b+1;
baris_tujuan := 24-jumlah_b;
end
else
begin
kolom_tujuan := 50;
jumlah_c := jumlah_c+1;
baris_tujuan := 24-jumlah_c;
end;
delay(waktu*1000);
gotoxy(kolom_sumber, baris_sumber); write(‘ ‘);
gotoxy(kolom_tujuan, baris_tujuan); write(jumlah);
gotoxy(18, 24); write(langkah);
menarahanoi(jumlah-1, bantuan, tujuan, sumber,
langkah, jumlah_a, jumlah_b, jumlah_c, waktu);
Hasil :
Error
Tugas 1 : AND, OR, XOR, EQV, IMP, NOT
Cls
Rem program operasi himpunan
Print string$ (70, “_”)
Print “x”; Tab (7); “A”; Tab (11); “B”; Tab (15); “A AND B”; Tab (25); “A OR B”;
Print Tab (35); “A XOR B”; Tab (45); “A EQV B”; Tab (55); “A IMP B”;
Print Tab (65); “NOT A”
Print string$ (70, “_”)
For x=1 to 10
A=2*x-5<7
B=3*x+4>13
Print x; Tab (6); A; Tab (10); B; Tab (17); A AND B;
Print Tab (27); A OR B; Tab (37); A XOR B; Tab (47); A EQV B;
Print Tab (57); A IMP B; Tab (67); NOT A
Next x
Print string$ (70, “_”)
Print
Print “Keterangan: -1=Benar, 0=Salah”
End
cls
REM Program menghitung luas
REM beberapa persegi panjang
data 35, 5, 20, 10, 25, 5, 125, 75
for i=1 to 4
read panjang, lebar
luas = panjang*lebar
print luas
next i
end
2. Nyatakan contoh berikut dalam pernyataan Boolean dan berikan alasan pada setiap point:
a. 6 = 7
b. 3 < 10
c. 5 <> 6
d. A = 5
e. (A > 5) or (B < 10)
Penyelesaian :
a. 6 = 7
bernilai salah, karena 6 tidak sama dengan 7.
b. 3 < 10
bernilai benar, karena 3 lebih kecil dari 10.
c. 5 <> 6
bernilai benar, karena 5 tidak sama dengan 6.
d. A = 5
bisa bernilai benar atau salah, tergantung pada nilai variabel A yang digantikan (diisi).
e. (A > 5) or (B < 10)
bisa bernilai benar atau salah, tergantung pada nilai variabel A dan B yang digantikan (diisi).
3. berdasarkan soal diatas, buatlah flow chart (diagram alir program), pilih salah satu dari soal diatas dan buat program dengan menggunakan Turbo Basic.