Berikut contoh turbo pascal yg lebih kompleks...
Terdapat program procedure, function, for-to-do, array, label, array, dll.
Untuk mendownload file pas klik disini
Untuk mendownload file exe klik disini
Untuk mendownload file bak klik disini
Semoga menginspirasi dan bermanfaat.
Program Pilihan_Menu;
Uses Wincrt;
Var X,Lanjut :String;
Pilih :Char;
A,B :Longint;
Label Awal;
Function Kuadrat (Var bil:Longint) :Longint;
Begin
Kuadrat:=bil*bil;
End;
Procedure Garis;
Var Z :Integer;
Const Bentuk = '-';
Sebanyak = 79;
Begin
For Z := 1 To Sebanyak Do
Write(Bentuk);
Writeln
End;
Procedure Biodata_Pembuat_Program;
Begin
Clrscr;
GotoXY(5,1);Writeln('Biodata ===>');
GotoXY(5,2);Writeln('Nama : Reza Anwari');
GotoXY(5,3);Writeln('TTL : Serang, 9 Mei 1991');
GotoXY(5,4);Writeln('Status : Mahasiswa Lajang');
GotoXY(5,5);Writeln('NIM : 2225090724');
GotoXY(5,6);Writeln('PT : Universitas Sultan Ageng Tirtayasa');
GotoXY(5,7);Writeln('Fakultas : Keguruan Dan Ilmu Pendidikan');
GotoXY(5,8);Writeln('Prodi : Pendidikan Matematika');
GotoXY(5,9);Writeln('Kelas : 3A');
GotoXY(5,10);Writeln('Angkatan : 2009');
GotoXY(5,11);Writeln('Cita-cita : Guru/Dosen Yang Disenangi');
GotoXY(5,12);Writeln('Hobi : Tertawa, Ngutak-atik Komputer');
GotoXY(5,13);Writeln('No Telp/HP : 083812135410');
GotoXY(5,14);Writeln('Alamat : Perumahan Taman Ciruas Permai Blok D5/36');
GotoXY(5,15);Writeln(' Ciruas');
GotoXY(5,16);Writeln(' Serang');
GotoXY(5,17);Writeln(' Banten');
GotoXY(5,18);Writeln('Motto Hidup: Hari Kemarin Adalah Kenangan');
GotoXY(5,19);Writeln(' Hari Ini Adalah Perjuangan');
GotoXY(5,20);Writeln(' Hari Esok Adalah Harapan');
Writeln;
End;
Procedure Program_Kuadrat;
Var I,B :Longint;
Banyak :Array [1..100] Of Longint;
Begin
Clrscr;
Garis;
GotoXY(31,2);Writeln('Contoh Pengkuadratan');
Garis;
Write('Masukan Banyaknya Contoh Yang Anda Inginkan : ');
Readln(B);
For I:=1 To B Do
Begin
Garis;
Write(I,'. Masukan Angka: ');
Readln(Banyak[I]);
Writeln;
End;
Clrscr;
Garis;
GotoXY(31,2);Writeln('PROGRAM PENGKUADRATAN');
Garis;
GotoXY(1,4);Writeln('No');
GotoXY(10,4);Writeln('Angka Sebelum Dikuadratan');
GotoXY(41,4);Writeln('|');
GotoXY(48,4);Writeln('Angka Setelah Dikuadratkan');
Garis;
For I:=1 To B Do
Begin
Writeln(I:1,Banyak[I]:20,Kuadrat(Banyak[I]):39);
GotoXY(4,4);Writeln('|');
GotoXY(41,5+I);Writeln('|');
GotoXY(4,5+I);Writeln('|');
End;
Garis;
Writeln;
Writeln;
End;
Procedure Program_Akar_Kuadrat;
Var I,B :Longint;
Banyak :Array [1..100] Of Longint;
Begin
Clrscr;
Garis;
GotoXY(31,2);Writeln('Contoh Akar Kuadrat');
Garis;
Write('Masukan Banyaknya Contoh Yang Anda Inginkan : ');
Readln(B);
For I:=1 To B Do
Begin
Garis;
Write(I,'. Masukan Angka: ');
Readln(Banyak[I]);
Writeln;
End;
Clrscr;
Garis;
GotoXY(33,2);Writeln('PROGRAM AKAR KUADRAT');
Garis;
GotoXY(1,4);Writeln('No');
GotoXY(7,4);Writeln('Angka Sebelum Diakar Kuadratkan');
GotoXY(42,4);Writeln('|');
GotoXY(48,4);Writeln('Angka Setelah Diakar Kuadratkan');
Garis;
For I:=1 To B Do
Begin
Writeln(I:1,Banyak[I]:20,SQRT(Banyak[I]):39:0);
GotoXY(4,4);Writeln('|');
GotoXY(42,5+I);Writeln('|');
GotoXY(4,5+I);Writeln('|');
End;
Garis;
Writeln;
Writeln;
End;
Procedure Belajar_Kuadrat_Bilangan_Bulat;
Begin
Clrscr;
Garis;
GotoXY(25,2);Writeln('Belajar Program Pengkuadratan');
GotoXY(25,3);Writeln('=============================');
Garis;
Writeln('Suatu Bilangan Bila Dikuadratkan Maka Hasilnya Adalah Perkalian Bilangan Itu Dengan Bilangan Itu Sendiri');
Garis;
GotoXY(25,8);Writeln('<========== Rumus ==========>');
GotoXY(30,9);Writeln('A Kuadrat = A x A');
Garis;
Write('Masukan Angka: ');
Readln(a);
Writeln('Hasilnya Kuadratnya Adalah ',Kuadrat(a));
Writeln('Didapat Dari ',a,' x ',a);
Garis;
GotoXY(35,15);Writeln('Coba Lagi');
Garis;
Write('Masukan Angka: ');
Readln(a);
Writeln('Hasilnya Kuadratnya Adalah ',Kuadrat(a));
Writeln('Didapat Dari ',a,' x ',a);
Writeln;
Writeln;
Writeln;
Writeln;
Writeln('(Tekan Enter)');
readln(x);
Clrscr;
Garis;
Writeln('<=============== Nah Sekarang Coba Jawab Soal-Soal Dibawah Ini ===============>');
Garis;
Write('Hasil Kuadrat Dari 13 Adalah: ');
Readln(x);
If x='169' Then Writeln ('Anda Benar')
Else Writeln('Jawaban Yang Benar Adalah 169');
Garis;
Writeln('Kita Coba Lagi Ya =========>');
Garis;
Write('Hasil Kuadrat Dari 24 Adalah: ');
Readln(x);
If x='676' Then Writeln ('Anda Benar')
Else Writeln('Jawaban Yang Benar Adalah 676');
Garis;
Writeln('Coba Lagi =========>');
Garis;
Write('Hasil Kuadrat Dari 28 Adalah:');
Readln(x);
If x='784' Then Writeln('Anda Benar')
Else Writeln('Jawaban Yang Benar Adalah 784');
Garis;
writeln('Coba Lagi =========>');
Garis;
Write('Hasil Kuadrat Dari 35 Adalah: ');
Readln(x);
If x='1225' Then writeln ('Anda Benar')
Else Write('Jawaban Yang Benar Adalah 1225');
writeln;
End;
Procedure Belajar_Akar_Kuadrat_Bilangan_Bulat;
Begin
Clrscr;
Garis;
GotoXY(26,2);Writeln('Belajar Program Akar Kuadrat');
GotoXY(26,3);Writeln('============================');
Garis;
Writeln('Suatu Bilangan Bila Diakar Kuadratkan Maka Hasilnya Adalah Faktor (Faktor Yang Sama) Perkalian Dari Bilangan Itu');
Garis;
GotoXY(24,8);Writeln('Didalam Akar Tidak Boleh Negatif');
Garis;
Write('Masukan Angka (Tidak Boleh Negatif): ');
Readln(a);
Writeln('Hasilnya Akar Kuadratnya Adalah ',SQRT(a):0:2);
Writeln('Dikarenakan ',SQRT(a):0:2,' x ',SQRT(a):0:2,' = ',a);
Garis;
Writeln(' Coba Lagi');
Garis;
Write('Masukan Angka(Tidak Boleh Negatif): ');
Readln(a);
Writeln('Hasilnya Akar Kuadratnya Adalah ',SQRT(a):0:2);
Writeln('Dikarenakan ',SQRT(a):0:2,' x ',SQRT(a):0:2,' = ',a);
Writeln;
Writeln;
Writeln;
Writeln;
Writeln('(Tekan Enter)');
Readln(x);
Clrscr;
Garis;
Writeln('<=============== Nah Sekarang Coba Jawab Soal-Soal Dibawah Ini ===============>');
Garis;
Write('Hasil Akar Kuadrat Dari 64 Adalah: ');
Readln(x);
If x='8' Then Writeln ('Anda Benar')
Else Writeln('Jawaban Yang Benar Adalah 8');
Garis;
Writeln('Kita Coba Lagi Ya =========>');
Garis;
Write('Hasil Akar Kuadrat Dari 289 Adalah: ');
Readln(x);
If x='17' Then Writeln ('Anda Benar')
Else Writeln('Jawaban Yang Benar Adalah 17');
Garis;
Writeln('Coba Lagi =========>');
Garis;
Write('Hasil Akar Kuadrat Dari 529 Adalah: ');
Readln(x);
If x='23' Then Writeln('Anda Benar')
Else Writeln('Jawaban Yang Benar Adalah 23');
Garis;
Writeln('Coba Lagi =========>');
Garis;
Write('Hasil Akar Kuadrat Dari 961 Adalah: ');
Readln(x);
If x='31' Then writeln ('Anda Benar')
Else Writeln('Jawaban Yang Benar Adalah 31');
writeln;
End;
Procedure Latihan_Kuadrat_Bilangan_Bulat;
Begin
Clrscr;
Garis;
Writeln('<=================== Latihan Program Kuadrat Bilangan Bulat ==================>');
Garis;
Write('Masukan Angka (Atau 0 Untuk Kembali Ke Pilihan): ');
readln(a);
While a<>0 Do
Begin
Writeln('Hasil Kuadratnya Adalah ',Kuadrat(a));
b := 1;
Repeat
b := b+1;
Until b = a+1;
Writeln('Diperoleh dari ', a,' x ',a);
Garis;
Write('Masukan Angka (Atau 0 Untuk Kembali Ke Pilihan): ');
Readln(a);
End;
End;
Procedure Latihan_Akar_Kuadrat_Bilangan_Bulat;
Begin
Clrscr;
Garis;
Writeln('<================ Latihan Program Akar Kuadrat Bilangan Bulat ================>');
Garis;
Write('Masukan Angka (Atau 0 Untuk Kembali Ke Pilihan): ');
readln(a);
While a<>0 Do
Begin
Writeln('Hasil Akar Kuadratnya Adalah ',SQRT(a):0:2);
b := 1;
Repeat
b := b+1;
Until b= a+1;
Writeln('Dikarenakan ',SQRT(a):0:2,' x ',SQRT(a):0:2,' = ',a);
Garis;
Write('Masukan Angka (Atau 0 Untuk Kembali Ke Pilihan): ');
Readln(a);
End;
End;
Procedure Matriks;
Var Nama,Menu :string;
Lagi :Char;
A,B,C :Array [1..30,1..30] Of Integer;
Matrik1,Matrik2,Matrik3,Matrik4:Array[1..2,1..3] Of Integer;
D :Array[1..5,1..5] of real;
I,J,K,L,X,Y,Z,N,M,O,P :Integer;
Label Awal;
Begin
Awal:
Clrscr;
GotoXY(30,2);Writeln('============================');
GotoXY(30,3);Writeln('=========| MATRIKS |========');
GotoXY(30,4);Writeln('============================');
GotoXY(30,6);Writeln('1. PENJUMLAHAN MATRIKS 3 X 3');
GotoXY(30,8);Writeln('2. PENJUMLAHAN MATRIKS n X n');
GotoXY(30,10);Writeln('3. PENGURANGAN MATRIKS 3 X 3');
GotoXY(30,12);Writeln('4. PENGURANGAN MATRIKS n X n');
GotoXY(30,14);Writeln('5. PERKALIAN MATRIKS n X n');
GotoXY(30,16);Writeln('6. INVERS MATRIKS');
GotoXY(30,19);Write('Pilih Menu Ke: ');
Readln(Menu);
If Menu='1' Then
Begin
Clrscr;
GotoXY(27,2);Writeln('Program Penjumlahan Matriks');
Gotoxy(15,5);
Writeln('MATRIKS Ke-1');
For I:=1 To 2 Do
For J:=1 To 3 Do
Begin
GotoXY(10+(J-1)*10,7+I-1);
Readln(Matrik1[I,J]);
End;
GotoXY(41,7);
Writeln('+');
GotoXY(55,5);
Writeln('MATRIKS Ke2');
For I:=1 To 2 Do
For J:=1 To 3 Do
Begin
GotoXY(50+(J-1)*10,7+I-1);
Readln(Matrik2[I,J]);
End;
GotoXY(27,12);
Writeln('Hasil Penjumlahannya Adalah');
For I:=1 To 2 Do
For J:=1 to 3 do
Begin
GotoXY(30+(J-1)*10,14+I-1);
Writeln(Matrik1[I,J]+Matrik2[I,J]);
End;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
End;
If Menu='2' Then
Begin
Clrscr;
GotoXY(27,2);Writeln('Program Penjumlahan Matriks');
Write('Baris: ');
Readln(O);
Write('Kolom: ');
Readln(P);
Clrscr;
Gotoxy(15,5);Writeln('MATRIKS Ke-1');
For I:=1 To O Do
For J:=1 To P Do
Begin
GotoXY(10+(J-1)*10,7+I-1);
Readln(Matrik1[I,J]);
End;
GotoXY(41,7);
Writeln('+');
GotoXY(55,5);
Writeln('MATRIKS Ke2');
For I:=1 To O Do
For J:=1 To P Do
Begin
GotoXY(50+(J-1)*10,7+I-1);
Readln(Matrik2[I,J]);
End;
GotoXY(27,12);
Writeln('Hasil Penjumlahannya Adalah');
For I:=1 To O Do
For J:=1 to P do
Begin
GotoXY(30+(J-1)*10,14+I-1);
Writeln(Matrik1[I,J]+Matrik2[I,J]);
End;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
End;
If Menu='3' Then
Begin
Clrscr;
GotoXY(27,2);Writeln('Program Pengurangan Matriks');
Gotoxy(15,5);
Writeln('MATRIKS Ke-1');
For I:=1 To 2 Do
For J:=1 To 3 Do
Begin
GotoXY(10+(J-1)*10,7+I-1);
Readln(Matrik3[I,J]);
End;
GotoXY(41,7);
Writeln('+');
GotoXY(55,5);
Writeln('MATRIKS Ke2');
For I:=1 To 2 Do
For J:=1 To 3 Do
Begin
GotoXY(50+(J-1)*10,7+I-1);
Readln(Matrik4[I,J]);
End;
GotoXY(27,12);
Writeln('Hasil Penjumlahannya Adalah');
For I:=1 To 2 Do
For J:=1 to 3 do
Begin
GotoXY(30+(J-1)*10,14+I-1);
Writeln(Matrik3[I,J]-Matrik4[I,J]);
End;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
End;
If Menu='4' Then
Begin
Clrscr;
GotoXY(27,2);Writeln('Program Pengurangan Matriks');
Write('Baris: ');
Readln(O);
Write('Kolom: ');
Readln(P);
Clrscr;
Gotoxy(15,5);Writeln('MATRIKS Ke-1');
For I:=1 To O Do
For J:=1 To P Do
Begin
GotoXY(10+(J-1)*10,7+I-1);
Readln(Matrik1[I,J]);
End;
GotoXY(41,7);
Writeln('+');
GotoXY(55,5);
Writeln('MATRIKS Ke2');
For I:=1 To O Do
For J:=1 To P Do
Begin
GotoXY(50+(J-1)*10,7+I-1);
Readln(Matrik2[I,J]);
End;
GotoXY(27,12);
Writeln('Hasil Pengurangannya Adalah');
For I:=1 To O Do
For J:=1 to P do
Begin
GotoXY(30+(J-1)*10,14+I-1);
Writeln(Matrik1[I,J]-Matrik2[I,J]);
End;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
End;
If menu='5' Then
Begin
Clrscr;
Writeln('Ukuran matrix A');
Write('Baris : ');
Readln(X);
Write('Kolom : ');
Readln(Y);
Writeln;
Writeln;
Writeln('Ukuran Matriks B');
Writeln('Baris : ',y);
Write('Kolom : ');
Readln(Z);
Clrscr;
Garis;
GotoXY(5,2);Writeln('Matriks A');
Garis;
For I:=1 To X Do
For J:=1 To Y Do
Begin
GotoXY(5+(J-1)*5,4+I-1);
Readln(A[I,J]);
End;
GotoXY(42,2);Writeln('Matriks B');
For I:=1 To Y Do
For J:=1 To Z Do
Begin
GotoXY(42+(J-1)*5,4+I-1);
Readln(b[i,j]);
End;
For I:=1 To X Do
For J:=1 To Z Do
For K:=1 To Y Do
C[I,J] := C[I,J]+A[I,K]*B[K,J];
Garis;
Writeln(' Hasil Dari Perkalian Matriks A Dengan Matriks B Adalah : ');
Garis;
For I:=1 To X Do
Begin
For J:=1 To Z Do
Write(' ',C[I,J],' ');
Writeln;
End;
Writeln;
Writeln;
Writeln;
Writeln;
End;
If Menu='6' Then
Begin
Clrscr;
Begin
Garis;
Gotoxy (30,2);
Writeln ('Program Invers Matriks');
Garis;
Writeln ('Masukan Ordo Matriks (n x n)');
Write ('n : ');
Readln (N);
Garis;
Writeln;
For I:=1 To N Do
Begin
For J:=1 To N Do
Begin
GotoXY(5+(J-1)*10,7+I-1);
Readln (D[i,j]);
End;
End;
Writeln;
Garis;
Writeln('Maka Invers Dari Matriks Tersebut Adalah :');
Garis;
Writeln;
For I:=1 To N Do
Begin
For j:=n+1 To N+N Do
Write(' ',D[I,J]:0:3);
Writeln;
End;
End;
Writeln;
Writeln;
Writeln;
Writeln;
End;
Begin
Writeln;
Write('Kembali Ke Pilihan Tekan [Y/T]: ');
Readln(Pilih);
If (Pilih)='Y' Then Goto Awal Else
Clrscr;
GotoXY(18,2);Writeln('Jika Ingin Kembali Ke Menu AWAL Tekan "Y"');
GotoXY(21,3);Writeln('Jika Ingin KELUAR Program Tekan "T"');
End;
End;
Begin
Garis;
GotoXY(32,2);Writeln('Aktifkan Caps Lock');
Garis;
GotoXY(24,4);Writeln('Atau Isi Program Dengan Huruf Besar');
Garis;
GotoXY(25,6);Writeln('Tekan Enter Dan Ikuti Petunjuknya');
Garis;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
Writeln;
Garis;
Writeln;
Garis;
Writeln;
Garis;
Writeln;
Garis;
GotoXY(40,11);Readln;
Clrscr;
Garis;
Writeln('Masukan Nama Lengkap Anda');
Garis;
Write('Nama: ');
Readln(X);
Garis;
Writeln('OK ',X,' Selamat Bergabung');
Garis;
Writeln('Kita Akan Belajar Kuadrat Dan Akar Kuadrat Bilangan Bulat');
Garis;
Writeln('Tekan Enter Dan Ikuti Petunjuknya');
Garis;
Garis;
Garis;
Garis;
Garis;
Garis;
Garis;
Garis;
Garis;
Garis;
Garis;
Garis;
Write('------------------------------------------------------------------------------');
Readln(x);
Repeat
Awal:
Clrscr;
GotoXY(30,3);Writeln('Program Bilangan Bulat');
GotoXY(22,4);Writeln('======================================');
GotoXY(22,6);Writeln('1.Biodata Pembuat Program');
GotoXY(22,7);Writeln('2.Program Kuadrat');
GotoXY(22,8);Writeln('3.Program Akar Kuadrat');
GotoXY(22,9);Writeln('4.Belajar Kuadrat Bilangan Bulat');
GotoXY(22,10);Writeln('5.Belajar Akar Kuadrat Bilangan Bulat');
GotoXY(22,11);Writeln('6.Latihan Kuadrat Bilangan Bulat');
GotoXY(22,12);Writeln('7.Latihan Akar Kuadrat Bilangan Bulat');
GotoXY(22,13);Writeln('8.Program Matriks');
GotoXY(22,17);Write('Masukan Pilihan Anda: ');
Readln(pilih);
Writeln;
Case pilih Of
'1' : Biodata_Pembuat_Program;
'2' : Program_Kuadrat;
'3' : Program_Akar_Kuadrat;
'4' : Belajar_Kuadrat_Bilangan_Bulat;
'5' : Belajar_Akar_Kuadrat_Bilangan_Bulat;
'6' : Latihan_Kuadrat_Bilangan_Bulat;
'7' : Latihan_Akar_Kuadrat_Bilangan_Bulat;
'8' : Matriks;
Else
Clrscr;
Garis;
GotoXY(25,2);Writeln('Nomor yang anda masukkan salah!!');
Garis;
GotoXY(25,4);Writeln('Pilihannya hanya 1/2/3/4/5/6/7/8');
Garis;
GotoXY(25,6);Writeln('Jangan asal pilih!!!!!!!!!!!!!!!');
Garis;
End;
writeln;
write('Kembali Ke Pilihan Tekan [Y/T]: ');
readln(Pilih);
Until Upcase(Pilih)<>'Y';
Clrscr;
GotoXY(18,9);Writeln('Terima Kasih Telah Menggunakan Program Ini');
GotoXY(30,10);Writeln('Semoga Bermanfaat');
GotoXY(28,11);Writeln('rezaanwary@gmail.com');
GotoXY(24,12);Writeln('rezaanwari2010.wordpress.com');
End.
Tidak ada komentar:
Posting Komentar