Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
“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.