Download pdf - tugas akhir

Transcript

MODUL 1

PENGENALAN PASCALTUJUAN PRAKTIKUM Praktikum di harapkan dapat 1.Mengenal bahasa Pascal dan struktur program pada Turbo Pascal 2.Mengetahui dan memahami penggunaan komponen-komponen dasar pada Pascal 3.Menggunakan perintah dasar penulisan dalam membuat program

Program 1.1 program menulis stringprogram hallo; Uses Crt; begin Clrscr; writeln('Hallo, SELAMAT DATANG!!!'); write('Anda sedang menggunakan Pascal'); Readln; end.

-2-

Analisis: Program ini untuk menampilkan keluaran Hallo, SELAMAT DATANG!!! dengan menggunakan write. Program 1.2 Program menjumlahkan dua bilangan yang sudah terdefinisi dan menampilkan hasilnya di layarprogram penjumlahan; uses crt; begin clrscr; writeln('Penjumlahan dua bilangan'); write('6+4'); write(' = '); write(6+4); readln; end.

Analisis: Program ini untuk menampilkan penjumlahan dengan menggunakan fungsi write dan writeln.-3-

Program 1.3 program menuliska n nama lembaga dan alamatnyaprogram tulis_alamat; uses crt; begin clrscr; writeln('Teknik Informatika'); write('Fakultas Teknik'); writeln('Universitas Siliwangi'); writeln; write('Jl. Siliwangi No. 24 Tasikmalaya'); readln; end.

Analisis: Program ini untuk menampilkan alamat dengan menggunakan writeln.

-4-

Latihan

1.) program tulis; uses crt; begin clrscr; writeln('purnomo akbar nugraha'); writeln(17 tahun); writeln(jl. Sudirman no 185 garut); readln; end.

Analisis: Program ini untuk menampilkan keluaran nama, usia, dengan menggunakan write dan writeln.2.) program bintang;

-5-

uses crt; begin clrscr; writeln(' writeln(' writeln(' readln; end. * * * * * * * * * '); '); ');

writeln(' * * * * * * * ');

Analisis : Program ini unutk menampilkan bintang dengan menggunakan writeln;3.) program hitung; uses crt; begin clrscr;

-6-

writeln('*** Program Hitung ***'); writeln; writeln('120 + 12 = 132'); writeln('120 - 12 = 108'); writeln('120 x 12 = 1440'); writeln('120 / 12 = 10.00'); readln; end.

Analisis : Program ini untuk menampilkan campuran antara penjumlahan, pembagian,

pengurangan, perkalian, dengan menggunakan fungsi writeln.

-7-

Modul 2

Tipe Data , Nilai, Input dan Output

TUJUAN PRAKTIKUM Praktikum di harapkan dapat: 4. Mengetahui dan memehami penggunaan tipe-tipe data dasar pada Pascal 5. Memahami penggunaan operator dan ekspresi dalam membuat program 6. memahami penggunaan perintah dasar input-output pada Pascal

Program 2.1 Deskripsi dan contoh pengisian tipe data dasarprogram tipe_data; uses crt; const phi = 3.14; Nmaks = 200; var luasL nilai indeks ketemu : real; : integer; : char; : boolean;

Nama_Mhs : string; begin clrscr; luasL nilai indeks ketemu := 32.4; := 68; := 'A'; := false;

-8-

ketemu readln; end.

:= true;

Nama_Mhs := 'Blaise Pascal';

Analisis: Program ini di tunjukan untuk membuat sebuah tampilan yang bertipe data string, char, integer, real dll. Namun ketika kita run pada layar tidak tampil apapun .

Program 2.2 : Program menghitung dan menampilkan luas dan keliling lingkaran dengan nilai jari-jari yang sudah terdefinisi.program lingkaran; uses crt; const phi = 3.14; var

-9-

jari_jari, luas, keliling : real; begin clrscr; jari_jari := 7; luas := phi * jari_jari * jari_jari; keliling := 2 * phi * jari_jari; writeln('Luas Lingkaran = ',luas:0:2); writeln('Keliling Lingkaran = ', keliling:0:2); readln; end.

Analisis: Program ini di tunjukan untuk membuat program bertipe data real atau integer dengan menggunakan const,var matematis. hingga menghasilkan sebuah tampilan hasil perhitungan

Program 2.3 : Program mencari dan menampilkan nilai determinan.program Nilai_Determinan;

- 10 -

uses crt; var a, b, c, d : integer; begin clrscr; a := 5; b := 600; c := -3; d := b * b - 4 * a * c; writeln('Nilai determinan D = ',d); readln; end.

Analisis: Program ini di gunkan untuk mencari suatu determinan dengan menggunakan variable bertipe integer , atau real.

Program 2.4 : Contoh penggunaan operator logika dan perbandingan.program logika;

- 11 -

uses crt; var k, l, m , n : boolean; begin clrscr; k := true; l := false; m := (k or l) and l; n := ((6 >= 8) and (9 1)) or (3 < 7); writeln(m,' ',n); readln; end.

Analisis: Program ini digunakan untuk menyelesaikan suatu permasalahan yang bersangkutan dengan logika atau false-true.

Program 2.5 : Contoh penggunaan operator string.

- 12 -

program operator_string; uses crt; var A, B : string[3]; begin clrscr; A := 'Aku'; B := 'Dia'; writeln(A); writeln(B); writeln(A + ' dan ' + B); readln; end.

Analisis: Program ini adalah suatu program yang berfungsi untuk menggabungkan dua atau lebih operan string menjadi sebuah string yang lebih panjang.

Program 2.6 : Data Angka.

- 13 -

program data_angka; uses crt; var X, Y, Z : char; begin clrscr; write('Masukkan 3 buah karakter : ');read(X, Y, Z); Writeln; writeln('Karakter pertama = ',X); writeln('Karakter kedua writeln('Karakter ketiga readln; readln; end. = ',Y); = ',Z);

Analisis: Program ini merupakan program input-uotput yang bisa menampilkan outputan yang kita input pada keyboard .

Program 2.7 : Jumlah Bilangan.- 14 -

program jumlah_bilangan; uses crt; var angka1, angka2 : integer; begin clrscr; write('Input angka pertama : ');readln(angka1); write('Input angka kedua readln; end. : ');readln(angka2); writeln(angka1,' + ',angka2,' = ',angka1+angka2);

Analisis: Program ini merupakan program yang dapat menampilkan inputan dari keyboard dan menampilkan hasl matematis dari inputan kita.

- 15 -

Program 2.8 : Operasi output dengan berbagai jenis parameter.program param_output; uses crt; const max = 1000; var bil : real; begin clrscr; write('Masukkan bilangan : ');readln(bil); writeln(bil:0:1); writeln(max); writeln(100); writeln('Teknik Informatika'); writeln(100 * 2 - 4); writeln(sqr(bil):0:2); readln; end.

- 16 -

Analisis: Program ini merupakan program output-input dengan berbagai parameter seperti :konstanta, variable, nilai, aritmatika dll. Latihan1.) program NIM; uses crt; var nama := string; no := integer; kelas := char; begin clrscr; writeln(masukan nama anda = );readln(nama); writeln(NIM = );readln(no); writeln(kelas = );readln(kelas); write(nama readln; end. saya ,nama ,dengan NIM,no, merupakan mahasiswa teknik informatika kelas ,kelas);

analisis: program ini adalah suatu program yang dapat menampilkan gabungan berbagai gabungan tipe data.- 17 -

2.) program segitiga; uses crt; var a, b, c, L : real; begin clrscr; write('Masukkan alas segitiga c := sqrt(sqr(a) + sqr(b)); L := 1/2 * b * a; writeln('Nilai sisi miring segitiga siku-siku : ',c:0:2); writeln('Nilai luas segitiga siku-siku readln; end. : ',L:0:2); : ');readln(b); write('Masukkan tinggi segitiga : ');readln(a);

Analisis: program ini adalah program output-input yang dapat menyesaikan data bertipe real atau integer .

- 18 -

3) Program algoritma; Var N, a, b, c : integer; Ra : integer; Begin Write(masukan nilai n = );readln(n); a := n div 3600; ra := n mod 3600; b := ra div 60; c := ra mod 60; write( jadi nilai = a, b, c ); readln; end.

Analisis: Program logaritma ini berfungsi untuk menapilkan hasil mod dan div dari inputan yang kita masukan .

- 19 -

MODUL 3

ANALISIS KASUS(PEMILIHAN)

Tujuan praktikum Praktikum di harapkan dapat: 7. Memahami penggunaan struktur IF-THEN dan CASE-OF dalam pascal 8. Mengimplememtasikan struktur IF-THEN dan CASE-OF dalam membuat program 9. Menyelesaikan persoalan yang melibatkan proses analisis kasus

Program 3.1 menerima masukan sebuah nama,jika nama tidak di isi tampilkan pesanprogram data_nama; var nama : string; begin write('Ketikkan nama anda : '); readln(nama); if nama = '' then writeln('Isi dulu nama anda!!!'); readln; end.

- 20 -

Analisis: Program ini berfungsi untuk menampilkan inputan pada keyboard Dan bila kita tidak menginput apapun maka akan tampil isi dulu nama anda!!!

Program 3.2 : Program untuk mengecek apakah sebuah bilangan termasuk bilangan genap atau bukan. Jika termasuk bilangan genap, tampilkan pesan.program bil_genap; uses crt; var bil : integer; begin write('Masukkan bilangan : '); readln(bil); if bil mod 2 = 0 then begin writeln('bilangan genap'); writeln('Pengecekan bilangan selesai'); end; readln; end.

- 21 -

Analisis: Program di atas berfungsi untuk mengecek sebuah bilanag apakah genapatau bukan dengan menggunakan if-then ,dan program di atas bisa menampilkan hasil seperti di atas karena dalam if nya mod 2 = 0(tiap bilanagan yang di bagi dua hasilnya nol). Program 3.3 : Program untuk mengecek apakah sebuah bilangan termasuk bilangan genap atau bilangan ganjil. Jika termasuk bilangan genap, tampilkan pesan bilangan genap, jika termasuk bilangan ganjil tampilkan pesan bilangan ganjil.program genap_ganjil; var bil : integer; begin write('Masukkan bilangan : '); readln(bil); if bil mod 2 = 0 then writeln('bilangan genap') else writeln('bilangan ganjil'); readln; end.

- 22 -

Analisis: Program ini adalah program untuk mengecek apakah suatu bilanagn merupakan bilangan genap atau ganjil ,karena dalam program ini berbeda dengan yang tadi jika pada aksi pertama tidak sama maka di lanjutkan pada aksi yang ke dua. Program 3.4 : Program untuk menentukan bilangan terbesar di antara dua bilangan yang dimasukkan.program bil_terbesar; var bil1, bil2 : integer; begin write('Masukkan 2 bilangan : ');readln(bil1,bil2); if bil1 > bil2 then begin writeln(bil1,' > ',bil2); writeln(bil1,' bilangan terbesar'); end else begin writeln(bil2,' > ',bil1); writeln(bil2,' bilangan terbesar'); end; readln; end.

- 23 -

Analisis: Program ini berguna untuk menentukan bilangan terbesar di antara dua bilanagan dengan menggunakan if-then .

Program 3.5 : Program menampilkan wujud cair, uap, dan gas.program Wujud_Air; var suhu wujud begin write('Suhu air : ');readln(suhu); if suhu 0) and (suhu 0 then begin write('tipe determinan : negatif'); end; readln; end. : real;

- 28 -

Analisis: Program ini berfungsi untuk mencari nilai determinan dengan if-then .2.) program gol_gaji_karyawan; uses crt; var nm : string; mk : integer; begin clrscr; write('Nama Karyawan writeln; case mk of 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35 : writeln('Karyawan bernama ',nm,' Golongan A memperoleh gaji sebesar Rp. 3.000.000,00'); 16,17,18,19,20 Rp. 2.750.000,00'); 11,12,13,14,15 Rp. 2.500.000,00'); 6,7,8,9,10 Rp. 2.250.000,00'); 1,2,3,4,5 Rp. 2.000.000,00'); else writeln; writeln('Masa Kerja lebih dari 35 Tahun, Sudah Pensiun?'); writeln; : writeln('Karyawan bernama ',nm,' Golongan E memperoleh gaji sebesar : writeln('Karyawan bernama ',nm,' Golongan D memperoleh gaji sebesar : writeln('Karyawan bernama ',nm,' Golongan C memperoleh gaji sebesar : writeln('Karyawan bernama ',nm,' Golongan B memperoleh gaji sebesar : ');readln(nm); write('Masa Kerja (tahun) : ');readln(mk);

- 29 -

writeln('Masa Kerja kurang dari 1 Tahun, Tidak Berkerja?'); end; readln; end.

Analisis: Kasus ini merupakan kasus untuk menentukan golongan dan berapa gaji karyawan , Tidak berbeda dengan yang tadi disini kita memakai case-of .3). program luas_bidang; uses crt; var p,pj,lb,s : integer;l begin clrscr; writeln('**MENU**');writeln('1. Persegi Panjang'); writeln('3. if p > 3 then begin writeln('#Tidak ada pilihan#'); end; if p < 1 then begin writeln('#Tidak ada pilihan#'); Luas Lingkaran');writeln;write('Masukkan pilihan : ');readln(p);writeln; Luas Bujursangkar');writeln('2. Luas : real;

- 30 -

end; writeln; if p = 1 then begin writeln('#Anda memilih menu Luas Bujursangkar#'); write('Input sisi bujursangkar : ');readln(s); l := s*s; writeln; writeln('Luas Bujursangkar = ',l:0:2); end else if p = 2 then begin writeln('#Anda memilih menu Luas Persegi Panjang#'); write('Input panjang persegi panjang : ');readln(pj); write('Input lebar persegi panjang l := pj*lb; writeln; writeln('Luas Persegi Panjang = ',l:0:2); end else if p = 3 then begin writeln('#Anda memilih menu Luas Lingkaran#'); write('Input jari-jari lingkaran : ');readln(l); l := 3.14*l*l; writeln; writeln('Luas Lingkaran = ',l:0:2); end; readln; end. : ');readln(lb);

- 31 -

Analisis: Program ini adalah program untuk menentukan luas ,sama seperti pada modul 2 tapi disini kita menggunakan if-then jadi kita bisa menentukan luas sesuai data yang kita inputkan .

4). program gol_gaji_karyawan; uses crt; var nm : string; mk : integer; begin clrscr; write('Nama Karyawan writeln; case mk of 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35 : writeln('Karyawan bernama ',nm,' Golongan A memperoleh gaji sebesar Rp. 3.000.000,00'); : ');readln(nm); write('Masa Kerja (tahun) : ');readln(mk);

- 32 -

16,17,18,19,20 Rp. 2.750.000,00'); 11,12,13,14,15 Rp. 2.500.000,00'); 6,7,8,9,10 Rp. 2.250.000,00'); 1,2,3,4,5 Rp. 2.000.000,00'); else writeln;

:

writeln('Karyawan bernama ',nm,' Golongan B memperoleh gaji sebesar :

writeln('Karyawan bernama ',nm,' Golongan C memperoleh gaji sebesar :

writeln('Karyawan bernama ',nm,' Golongan D memperoleh gaji sebesar :

writeln('Karyawan bernama ',nm,' Golongan E memperoleh gaji sebesar

writeln('Masa Kerja lebih dari 35 Tahun, Sudah Pensiun?'); writeln; writeln('Masa Kerja kurang dari 1 Tahun, Tidak Berkerja?'); end; readln; end.

- 33 -

Analisis: ini adalah program untuk mencari golongan karyawan dan gaji ,disini kita menggunakan case-of dan cara kita menentukan gaji dan golongan adalah dengnan menginputkan nilai maka nanti akan keluar golongan dan gaji.

- 34 -

Modul 4 PengulanganTUJUAN PRAKTIKUM 10. Mengenal struktur praktikum dalam pascal 11.Memahami penggunaan struktur pengulanagan WHILE-DO,REPREAT-UNTIL,,dan FOR dalam pascal 12.menginplementasikan struktur membuat program WHILE-DO,REPEAT-UNTIL ,dan FOR dalam

4.1. Program menampilkan kalimat (string) sebanyak 10 kali :program Kalimat; uses crt; var x : integer; begin clrscr; for x:=1 to 10 do begin write(x); writeln(' Halo, Selamat Membaca!!!'); end; readln; end.

- 35 -

Analisis: Program ini adalah program pengulangan untuk mengulang kata ,dengan

menggunakan for.

4.2. Program menghitung total jumlah dari deret angka (banyaknya deret di inputkan oleh user)

program Jumlah_Deret; uses crt; var i, N, jumlah : integer; begin write('Banyaknya deret : ');readln(N); jumlah := 0; for i := 1 to N do begin write(i); jumlah := jumlah + i; end;

- 36 -

writeln; write('Total jumlah deret = ',jumlah); readln; end.

Analisis: Program ini adalah program untuk menentukan jumlah deret dengan menggunakan for dan ketika stetemen pertama selesai kita membuat aksi atau stetment baru yang berfungsi untuk menampilkan hasilnya.

4.3. Menampilkan 5 karakter pertama pada alfabet mulai dari e aprogram Tulis_Karakter; uses crt; var kar : char; begin for kar := 'e' downto 'a' do write(kar); readln; end.

- 37 -

Analisis: Program ini adalah program untuk menampilkan urutan alphabet dari e-a ,dan kita menggunakan for:=edowntoado,maka akan tampil seperti di atas.

4.4. Contoh program yang menggunakan struktur for bersarangprogram for_bersarang; uses crt; var i, j : integer; begin clrscr; for i := 1 to 3 do begin write('i = ',i);writeln; for j := 1 to 4 do writeln(' j = ',j); end; readln; end.

- 38 -

Analisis : Ini adalah program for bersaranng yaitu program struktur for yang fornya lebih dari satu sama seperti if-then lebih dari dua.

4.5. Program menampilkan sekumpulan tanda * dengan bentuk tertentuprogram Bintang; uses crt; var i,j,n : integer; begin clrscr; write('Jumlah baris( >0 ) : ');readln(n); for i:=1 to n do begin for j:=1 to i do write('*'); writeln; end; readln; end.

- 39 -

Analisis : Ini adalah program untuk menampilkan bintang ,disini saya menggunakan dua for dan banyak bintang akan keluar sesuai dengan yang kita inputkan di keyboard.

4.6. Mencetak kata pascal sebanyak 10 kali dengan struktr While-Doprogram Cetak_Kata; uses crt; var i : integer; begin clrscr; i := 0; while (i= 0; until menit 4 then begin : real;

- 53 -

writeln('#Tidak ada pilihan#'); end; if p < 1 then begin writeln('#Tidak ada pilihan#'); end; writeln; if p = 1 then begin writeln('#Anda memilih menu Luas Bujursangkar#'); write('Input sisi bujursangkar : ');readln(s); l := s*s; writeln; writeln('Luas Bujursangkar = ',l:0:2); end else if p = 2 then begin writeln('#Anda memilih menu Luas Persegi Panjang#'); write('Input panjang persegi panjang : ');readln(pj); write('Input lebar persegi panjang l := pj*lb; writeln; writeln('Luas Persegi Panjang = ',l:0:2); end else if p = 3 then begin writeln('#Anda memilih menu Luas Lingkaran#'); write('Input jari-jari lingkaran : ');readln(l); l := 3.14*l*l; writeln; writeln('Luas Lingkaran = ',l:0:2); end; until p = 4; end. : ');readln(lb);

- 54 -

Analisis: Program ini adalah program modifikasi dari modul 3 nomor 3 yang jika menerima inputan sebelum kita meninput menu keluar maka program akan terus meerima inputan.

- 55 -

Modul 5

Record dan array

Tujuan praktikum Praktikum di harapkan dapat: 13. mengerti dan menggunakan tipe data record dan array 14. membuat dan dapat menganalogikan pembuatan struktur data array dengan baik

Program 5.1 program data mahasiswaProgram data_mahasiswa; Uses crt; Type R_tanggal = record tanggal, bulan, tahun : integer; End; Mahasiswa = record Nim : logint; Nama : string[65]; Tgl_lahir : r_tanggal; End; Var Rec_mhs : mahasiswa ; Begin Clrscr; rec_mhs.nim :=113038; rec_mhs.nama :=izzah; rec_mhs.tgl_lahir.tanggal:=28;

- 56 -

rec_mhs.tgl_lahir.bulan:=10; rec_mhs.tgl_lahir.tahun:=1990; writeln(Nim writeln(nama : , rec_mhs.Nim); : ,rec_mhs.Nama); lahir : , rec_mhs.tgl_lahir.tanggal,-

writeln(tanggal readln; end.

,rec_mhs.tgl_lahir.bulan,-,rec_mhs.tgl_lahir.tahun);

Analisis: Menurut saya ini adalah program untuk menampilkan data dengan struktur data ber tipe record.

- 57 -

program 5.2 program yang menerima masukan 5 buah data bertipe string dari keyboard.Program data_buku; Var Indeks : integer; Buku : array[1..5] of string ; Begin Writeln(INPUT DATA); For indeks:= 1 to 5 do Begin Write(judul buku ke- ,indeks, : ); Readln(buku[indeks]); End; Writeln; Writeln(DATA BUKU); Writeln(==========); For indeks := 1 to 5 do Writeln(buku[indeks]); Readln; End.

- 58 -

Analisis: Program ini berfungsi menampilkan inputan dan menampilkannya dengan susunan yang telah di atur.

Program 5.3 program untuk mengisi array dengan n buah kemudian menghitung total jumlahProgram pemjulahan_array; Const nmaks = 20; Type langka = array[1..nmaks] of real; Var Nilai : langka ; i, n : integer; Jum : real ; Begin Writeln(# INPUT NILAI #); Write(input berapa nilai ? );readln(n); For i:= 1 to n do Begin Write(nilai [,i,] :);readln(nilai[i]); End; Jum := 0; For i:= 1 to n do Jum:=jum+ nilai[i]; Write(total nilai = , jum :0:2); Readln; End.

- 59 -

Analisis: program ini berguna untuk menginput kan data dan mengolahnya dan menjumlah kannya.

- 60 -

Modul 6

Array bertipe recordTujuan praktikum Praktikum diharapkan dapat: 15. memahani penggunaan tipe record pada array 16.mengimplementasikan kasus array bertipe record dalam sebuah study

Program

6.1

membaca

sejumlah

data

mahasiswa

,menyimpan

data

dalam sebuah array,kemudian menampilkannya.program DataMHS; uses crt; const Nmaks = 50; type Mahasiswa = record NIM Nama Nilai end; var TabMhs input begin i := 0; repeat clrscr; i := i + 1; : array[1..Nmaks] of Mahasiswa; : char; i, JumMhs : integer; : longint; : string[25]; : char;

KodeMK : string[6];

- 61 -

writeln('INPUT DATA MAHASISWA'); writeln('===================='); write('NIM write('Nama write('Nilai : ');readln(TabMhs[i].NIM); : ');readln(TabMhs[i].Nama); : ');readln(TabMhs[i].Nilai);

write('Kode Mata Kuliah : ');readln(TabMhs[i].KodeMK); write('Input Data Lagi (y/t)? ');readln(input); until (input = 't') or (input = 'T') or (i = Nmaks); JumMhs := i; writeln; if i = Nmaks then writeln('Tabel array penuh, nggak muat lagi!!!'); writeln(' writeln(' NIM OUTPUT DATA MAHASISWA Nama KodeMK Nilai '); '); writeln('============================================'); writeln('============================================'); for i := 1 to JumMhs do writeln(TabMhs[i].NIM:9,TabMhs[i].Nama:20,TabMhs[i].KodeMK:10, TabMhs[i].Nilai:10); readln; end.

Analisi : Program ini untuk menyimpan data mahasiswa dalam sebuah array dan membaca sejumlah data mahasiswa untuk kemudian di tampilkan.

- 62 -

Latihan1). program Data_Buku; uses crt; const Nmaks = 50; type Buku = record KodeBuku Judul Jumlah end; var TabBuku input begin clrscr; i := 0; repeat clrscr; i := i + 1; writeln('INPUT DATA BUKU'); writeln('==============='); write('Kode Buku : ');readln(TabBuku[i].KodeBuku); write('Judul write('Jumlah : ');readln(TabBuku[i].Judul); : ');readln(TabBuku[i].Jumlah); write('Pengarang : ');readln(TabBuku[i].Pengarang); write('Input Data Lagi (y/t)? ');readln(input); until (input = 't') or (input = 'T') or (i = Nmaks); JumBuku := i; writeln; if i = Nmaks then writeln('Tabel array penuh, nggak muat lagi!!!'); writeln(' writeln(' Kode Buku OUTPUT DATA BUKU Judul Pengarang Jumlah '); '); writeln('=================================================='); : array[1..Nmaks] of Buku; : char; i, JumBuku : integer; : string; : string; : integer;

Pengarang : string;

- 63 -

writeln('=================================================='); for i := 1 to JumBuku do writeln(TabBuku[i].KodeBuku:10,TabBuku[i].Judul:18, TabBuku[i].Pengarang:10,TabBuku[i].Jumlah:8); readln; end.

Analisis : Program ini menurut saya untuk menyimpan data buku dengan menggunakan array dan kemudian di tampilkan sesuai dengan yang di inputkan dari keyboard.

- 64 -

Modul 7

Prosedur dan fungsi

Tujuan praktikum Praktikum di harapkan dapat: 17. memahami struktur prosedur dan struktur fungsi 18. menggunakan prosedur dan fungsi dalam membuat program

Program 7.1 program yang memanggil prosedur perhitungan keliling lingkaran tanpa parameter

program Keliling_Lingkaran; uses crt; const phi = 3.14; var r, kell : real; procedure Hitung_Kell_Lingkaran; begin write('Input Jari-jari : ');readln(r); Kell := 2 * phi * r; writeln('Keliling Lingkaran = ',Kell:0:2); end;

- 65 -

begin clrscr; writeln('Program Hitung Keliling Lingkaran'); Hitung_Kell_Lingkaran; readln; end.

Analisis : Program ini untuk menampilkan prosedur keliling lingkaran tanpa parameter yang sesuai dengan inputan dengan prosedur parameter itu tanpa parameter mendapatkan masukan konstanta atau variabel global.

Program 7.2 program yang memanggil prosedur pembagian dengan parameter inputprogram pembagian; uses crt; var bil1, bil2 : integer;

- 66 -

procedure Bagi(x, y : integer); var Hasil : real; begin if bil2 = 0 then write('Error') Else begin Hasil := bil1/bil2; writeln('Hasil Pembagian = ',Hasil:0:2); end; End; Begin clrscr; write('Bilangan pertama : ');readln(bil1); write('Bilangan kedua Bagi(bil1,bil2); readln; end. : ');readln(bil2);

- 67 -

Analisis : Program ini untuk menampilkan jumlah pembagian dari yang kita inputkan program yang memanggil prosedur pembagian dengan parameter input.

Program 7.3 program yang memanggil prosedur perhitungan upah berdasarkan jumlah jam kerja dengan parameter input dan parameter output

program UPAH_KARYAWAN; uses crt; var Nama : string[25]; jjk : longint; Upah : real; procedure Hitung_Upah(jum : longint; var upah_kerja : real); const upj = 5000; begin Upah_kerja := jum + upj; End; Begin clrscr; write('Nama Karyawan Hitung_Upah(jjk,upah); writeln('Upah ',nama,' = Rp. ',upah:0:2); readln; end. : ');readln(nama); write('Jumlah jam kerja : ');readln(jjk);

- 68 -

Analisis : Program yang memanggil prosedur perhitungan upah berdasarkan jumlah jam kerja dengan parameter input dan parameter output yang hasilnya di tampilkan sesuai inputan yang di masukan.

Program 7.4 program yang memanggil prosedur untuk mempertukarkan nilai dua buah variable dengan parameter input/output

program Pertukaran; uses crt; var angka1, angka2 : integer;

- 69 -

procedure tukar (var a, b : integer); var temp : integer; begin temp := a; a := b; b := temp; end; begin clrscr; writeln('SEBELUM PERTUKARAN'); write('Angka 1 : ');readln(angka1); write('Angka 2 : ');readln(angka2); tukar(angka1,angka2); writeln; writeln('SETELAH PERTUKARAN'); writeln('Angka 1 = ',angka1); writeln('Angka 2 = ',angka2); readln; end.

- 70 -

Analisis : Program ini memanggil prosedur untuk pertukaran nilai dua buah variabel dengan parameter I/O perubahan nilai dari prosedur akan mengubah nilai asli dari bagian program yang memanggil prosedur.

Program 7.5 program yang memanggil fungsi penambahan dua buah bilanagan real

program Penambahan; uses crt; var a, b, c : real; function tambah(x, y : real) : real; begin tambah := x + y; end;

begin clrscr; write('Nilai A : ');readln(a); write('Nilai B : ');readln(b); c := tambah(a,b); writeln('A + B = ',c:0:2); readln; end.

- 71 -

Analisis : Program ini untuk menampilkan program yang memanggil fungsi penambahan dua buah bilangan real dimana fungsi adalah subprogram yang mengembalikan sebuah nilai.

Program 7.6 program yang memanggil fungsi perhitungan volume kubusprogram Volume_Kubus; uses crt; var

- 72 -

r : real; function vol_kubus(rusuk : real) : real; begin vol_kubus := rusuk*rusuk*rusuk; end; begin clrscr; write('panjang rusuk : ');readln(r); writeln('Volume Kubus = ',vol_kubus(r):0:2); readln; end.

Analisis : Program ini untuk menampilkan program yang memanggil fungsi perhitungan volume kubus yang menampilkan sesuai dengan inputan yang dimasukan.

- 73 -

latihan1). program lat1; uses crt; var R1, R2 : integer; procedure R (x :integer); var Rs, Rp : real; begin if R1 or R2 = 0 then write('Error') else begin Rs := R1 + R2; Rp := (1/R1) + (1/R2); writeln('Hambatan Rangkaian Seri end; End; Begin clrscr; write('Nilai R1 : ');readln(R1); write('Nilai R2 : ');readln(R2); R(R1); readln; end. : ',Rs:0:2); writeln('Hambatan Rangkaian Paralel : ',Rp:0:2);

- 74 -

Analisis : Program ini dibuat untuk menampilkan besar hambatan jika R1 dan R2 di rangkai paralel dan hambatan yang satu di rangkai seri dengan menggunakan prosedur.

2). program lat2_function; uses crt; var a, t : real; function l (alas, tinggi :real) : real; begin l := 1/2 * (alas * tinggi); end; Begin clrscr; write('Nilai Alas : ');readln(a);

- 75 -

write('Nilai Tinggi : ');readln(t); writeln('Luas = ',l(a, t):0:2); readln; end.

Analisis : Program ini untuk menampilkan perhitungan luas segitiga dengan menggunakan function dimana yang di tampilkan sesuai dengan inputan yang dimasukan dari keyboard.

program lat2_procedure; uses crt; var a, t : integer; procedure Luas (x, y :integer);

- 76 -

var l : real; begin l := 1/2 * (a * t); writeln('Luas Segitiga : ',l:0:2); end; Begin clrscr; write('Nilai Alas Luas(a, t); readln; end. : ');readln(a); write('Nilai Tinggi : ');readln(t);

Analisis : Program ini untuk menampilkan perhitungan luas segitiga dengan menggunakan Procedure dimana yang di tampilkan sesuai dengan inputan yang dimasukan dari keyboard.

- 77 -

3). program UPAH_KARYAWAN; uses crt; var Nama : string[25]; jjk : integer; Upah : real; function Upah_Kerja(jum : real) : real; const upj = 5000; begin Upah_kerja := jum * upj; End; Begin clrscr; write('Nama Karyawan : ');readln(nama); write('Jumlah jam kerja : ');readln(jjk); writeln('Upah ',nama,' = Rp. ', Upah_Kerja(jjk):0:2); readln; end.

- 78 -

Analisis : Program yang memanggil fungsi perhitungan upah berdasarkan jumlah jam kerja dengan parameter input dan parameter output yang hasilnya di tampilkan sesuai inputan yang di masukan.

4). program lat4; uses crt; var R1, R2 : integer; function Rs (r1, r2 : real) : real; begin Rs := R1 + R2; end;

- 79 -

function Rp (r1, r2 : real) : real; begin Rp := (1/R1) + (1/R2); end; Begin clrscr; write('Nilai R1 : ');readln(R1); write('Nilai R2 : ');readln(R2); writeln('Hambatan Rangkaian Seri readln; end. : ',Rs(R1, R2):0:2); writeln('Hambatan Rangkaian Paralel : ',Rp(R1, R2):0:2);

Analisis : Program ini dibuat untuk menampilkan besar hambatan jika R1 dan R2 di rangkai paralel dan hambatan yang satu di rangkai seri dengan menggunakan fungsi.

- 80 -

LISTING PROGRAM PROGRAM 7.7 LAT. NO 5 SOUCECODEprogram fungsi; uses crt; label awal; var a:real;ulang:char; function fx(x:real):real; begin if x>10 then fx:=(3*sqr(x))+(6*x)+10 else if (x0) then fx:=1/(sqr(x)) else fx:=0; end; begin awal: clrscr; Writeln('=====Menghitung Funsi X====='); writeln('Input'); Write('Masukan Nilai X : ');readln(a); a:=fx(a); writeln('output'); writeln('Hasil ',a:0:2); writeln('============================'); write('Ulangi [Y/T]: ');ulang:=readkey; if upcase(ulang)='Y' then goto awal; end. fungsi X dari nilai yang anda masukan adalah :

- 81 -

Analisis : program ini untuk menampilkan function dengan menggunakan styruktur fungsi dan if untuk kemudian ditampilkan sesuai dengan infutan yang kita masukan.

- 82 -

Modul 8

Pengenalan C

Tujuan praktikum Praktikum di harapkan dapat: 19. memahami konsep bahasa C 20.mengetahui dan menggunakan traslasi algoritma ke dalam bahasa C

Program 8.1#include #include Struct titik { flost x; Float y ;}; Void main () {clrscr (); Struct titik p ; Int num; Char namaarsip[12], c; Float decimal; Printf(masukan koordinat titik : );scanf(%f%F, %p.x,&p.y);

- 83 -

Kesimpulan

Pascal merupakan suatu bahasa yang dapat dimengerti oleh computer dan sukar dimengerti oleh pemrogram,juga dasar dari sistem pemrograman yang terkandung algoritma,logika,dan matematis yang dapat kita jalankan sehingga menghasilkan sebuah program yang kita aplikasikan dalam kehidupan kita sehari-hari yang dapat mempermudah dan membantu pekerjaan khususnya dalam bidang teknologi. Pascal adalah bahasa pemrograman yang sangat penting dalam bidang pemrograman ,karena merupakan dasar suatu pemrograman yang mudah di pelajari dalam waktu singkat dengan berbagai fungsi dan kegunaan yang sangat lengkap .Bahkan jika kita gunakan dalam pembuatan program data bertipe matematis sangat efektif dan efisien.

- 84 -

DAFTAR PUSTAKA

DEVI FEBRIANTI,RAHMI NUR SHOFA.MODUL PRAKTIKUM DASAR PEMPROGRAMAN.2008.TASIKMALAYA

HTTP://WWW.ILMUKOMPUTER.COM

HTTP://WWW.FORUM HIMATIF .ORG

- 85 -

- 86 -


Recommended