LEMBAR KERJA PRAKTIKUM PEMROGRAMAN KOMPUTER II

dokumen-dokumen yang mirip
Teori Algoritma. Struktur Algoritma

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pengenalan Pascal. Sejarah Singkat Pascal

I. SOAL PILIHAN GANDA. 1. Tag yang harus dimiliki setiap file HTML adalah : a. <HEAD> b. <TITLE> c. <BODY> d. <TEXT> e. <STYLE>

Dasar Komputer & Pemrogaman 2A

Catatan Kuliah PEMROGRAMAN KOMPUTER II FILE TEXT

1. Laporan Akhir 1. Menentukan Nilai Besar atau Nilai Kecil. Program yang di masukkan adalah :

Pengantar dalam Bahasa Pemrograman Turbo Pascal

MODUL 1. Struktur Bahasa PASCAL secara umum

Konsep Dasar Pemrograman Pascal

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

P A S C A L D A S A R

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

Dasar Komputer & Pemrograman 2A

Bab 2 DASAR-DASAR ALGORITMA

Algoritma & Pemrograman

Catatan Kuliah PAM 282 Pemrograman Komputer II

KONSEP DASAR PEMROGRAMAN PASCAL

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

PROSES PENJUALAN BUKU

Tipe Data dan Operator dalam Pemrograman

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

Operasi File / Berkas

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

MODUL 3 ALGORITMA PEMROGRAMAN

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

Algoritma Pemrograman

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

DASAR PEMROGRAMAN. File

Algoritma,Flowchart, Konsep

BAB 3 INPUT PROSES OUTPUT. Target Pencapaian Siswa mengerti Penggunaan Statement Input, Proses dan Output dalam pembuatan Program dengan Pascall

Pengenalan Pascal/DevPascal

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

MANIPULASI STRING. Contoh :

Definisi Algoritma Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.

Algoritma Pemrograman

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Algoritma dan Pemrograman Bab 05 Struktur Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Mochammad Rivai

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM TEORI PENUNJANG

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

Array & Program Modular

Oleh : La Ode Abdul Jumar. Berkas(file) adalah kumpulan sejumlah komponen yang bertipe data sama,

BAB I TUJUAN DAN LANDASAN TEORI

MODUL PRAKTIKUM ALGORITMA & BAHASA PEMROGRAMAN I (BASIC) Dosen Pengasuh : Suroto, S.Kom, M.Ak

Pertemuan 4 KONSEP TIPE DATA

PRAKTIKUM 9 ORGANISASI FILE/PENGOLAHAN DATA DENGAN FILE BERTIPE

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

STRUKTUR PROGRAM. Secara ringkas, struktur suatu program Pascal dapat terdiri dari : 1.Judul Program 2.Blog Program a.

KONSEP DASAR BAHASA PASCAL

PRAKTIKUM 4 STATEMENT KENDALI

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Pertemuan 4 Diagram Alur / Flowchart

Perkuliahan Pemrograman II (Teori / Praktikum) Minggu 3

Bab 2. Dasar-Dasar Pemrograman C

SMA SANTO PAULUS PONTIANAK

Chapter 3.2 : Tipe, Nama dan Nilai

Modul 1 Mesin Karakter 1

Membuat Berkas File Text Pada Pascal

LATIHAN UTS Tim Pengajar KU1071 Sem

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

MEMBUAT DIAGRAM CHART PADA BAHASA C

Kuliah Online : TEKKOM [2013/VI]

LAPORAN AKHIR PRAKTIKUM STRUKTUR DATA

DASAR PEMROGRAMAN GRAFIK

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

PENGENALAN KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

ALGORITMA PERULANGAN

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

TIPE DATA Pertemuan (K-03/L-03)

Garis-Garis Besar Program Pembelajaran Berbasis Kompetensi

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

Modul I. Modul Praktikum Bahasa Pemrograman Pascal

PENGANTAR ALGORITMA DAN PEMROGRAMAN

ARRAY. Brigida Arie Minartiningtyas, M.Kom

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Pemrograman Dasar Pascal

BAB 3 ANALISIS DAN PERANCANGAN

Pengenalan Pascal. Tujuan Pembelajaran

Pertemuan VI ANTRIAN (Queue)

TIPE DATA DAN OPERASI I/O

Manipulasi Data & Pengolahan File

Sub Pokok Bahasan. tugas 1 Pascal operator Assignment, Binary, Unary dan Bitwise

Wah gak terasa kita sudah nyampe di bab perulangan & kondisi selamat mencoba.

Bab 4 Perintah Perulangan

Warna & Statement Case-Of-Else

Pertemuan 2 Operasi String

PENGERTIAN adalah pekerjaan penulisan instruksi bagi komputer untuk menyelesaikan suatu masalah.

Teori Algoritma TIPE DATA

MODUL PRAKTIKUM PRAKTEK ALGORITMA DAN PEMROGRAMAN II

Membuat Kalkulator Animasi Sederhana Menggunakan Pascal

Transkripsi:

Praktikum 1 1. Dapat merubah program yang dibuat dengan bahasa pemrogramam Pascal tanpa subrogram / subrutin (prosedur atau dan fungsi) menjadi menjadi bahasa pemrogramam Pascal dengan subrogram / subrutin. 2. Dapat mendefinisikan dan menggunakan prosedur tanpa parameter dan prosedur dengan parameter. 1. Buat program untuk menghitung luas dan keliling lingkaran dimana jari-jari (r) di input dari keyboard. Program tersebut dibagi ke dalam beberapa prosedur tanpa parameter, yaitu prosedur Masukan, Proses dan prosedur Keluaran. (---------- Nama File : PRAK211.PAS ------------) 2. Seperti soal No.1, tetapi program tersebut pada prosedur Proses dibuat dalam bentuk prosedur dengan paramater, dimana parameternya adalah r. (---------- Nama File : PRAK212.PAS ------------) 3. Buat program biasa tanpa prosedur dengan menggunakan bahasa pemrograman Pascal untuk mengkonversi suhu dari derajat Celsius ke Reamur, Fahrenheit dan Kelvin dengan ketentuan sebagai berikut : Berikan keterangan mengenai data-data pemrogram di awal program. Setiap kali program dijalankan, maka hasil output yang dihasilkan sebelumnya dihapus. Data yang di input dari keyboard adalah suhu dalam derajat Celsius dan tampilkan juga informasi mengenai input tersebut. Rumus konversi adalah : Reamur = 4/5 x Celsius Fahrenheit = 9/5 x Celsius + 32 Kelvin = Celsius + 273 Format untuk bilangan real adalah 10 digit, 4 digit dibelakang koma dan untuk bilangan integer 8 digit. Hapus semua informasi mengenai input sehingga bentuk tampilan output yang muncul di layar adalah : 1

<<<<< Konversi Suhu >>>>> ------------------------- Suhu dengan temperatur derajat Celsius setara dengan suhu dengan temperatur : - derajat Reamur. - derajat Fahrenheit. - derajat Kelvin. (---------- Nama File : PRAK213.PAS ------------) 4. Seperti No.3, tetapi program tersebut dibagi ke dalam beberapa prosedur tanpa parameter, yaitu prosedur Masukan, Proses dan prosedur Keluaran. (---------- Nama File : PRAK214.PAS ------------) 5. Seperti No.4, tetapi program tersebut dibagi ke dalam beberapa prosedur dengan parameter dan tanpa parameter. (---------- Nama File : PRAK215.PAS ------------) 2

Praktikum 2 1. Dapat mendefinisikan dan menggunakan prosedur tanpa parameter dan prosedur dengan parameter. 2. Dapat mendefinisikan dan menggunakan fungsi dalam pemrograman Pascal. 3. Dapat membedakan penggunaan fungsi dan prosedur dalam pemrograman Pascal. 1. Buat program untuk menghitung n buah barisan Fibonancci, dimana a 1 = 1, a 2 = 1 dan a n = a n-1 + a n-2, n 1, 2. Masukan pada program ini adalah n. Misalkan jika n = 6, maka barisan yang terjadi adalah 1 1 2 3 5 8. Program tersebut dibuat ke dalam beberapa prosedur dengan parameter, yaitu prosedur Masukan, Fibo dan prosedur Keluaran. (---------- Nama File : PRAK221.PAS ------------) 2. Seperti soal No.1, tetapi program tersebut pada prosedur Fibo dibuat dalam bentuk fungsi, yang mana fungsi tersebut bernilai integer.. (---------- Nama File : PRAK222.PAS ------------) 3. Menghitung nilai suatu fungsi. Misalkan diketahui suatu fungsi tiga variabel berikut : 5x 2 3 + y 2 f ( x, y, z) = dan g( x, y, z) = x + y 2z. 10z yang mana x, y dan z mempunyai tipe integer. Perhatikan bahwa dalam mendefinisikan dan menghitung nilai dari fungsi tersebut, batasi nilai inputnya sehingga fungsi tersebut terdefinisi. Buat program untuk menghitung penjumlahan dan perkalian dari kedua fungsi di atas. Kedua fungsi tersebut dideklarasikan sebagai fungsi. (---------- Nama File : PRAK223.PAS ------------) 4. Buat program dengan menggunakan subprogram untuk menghitung nilai Tangen (x), dimana x adalah bilangan real dalam besaran radian. Bila x di input dalam besaran derajat, konversi nilai tersebut kedalam radian, sehingga hasil yang muncul pada layar adalah sebagai berikut : 3

<<<<< Nilai Tangen >>>>> ------------------------- Sudut derajat setara dengan radian Dengan nilai - Cosinus( ) derajat = - Sinus ( ) derajat = - Tangen ( ) derajat = (---------- Nama File : PRAK224.PAS ------------) 4

Praktikum 3 1. Dapat mendefinisikan dan menggunakan data dengan tipe record pada Pascal. 2. Dapat membedakan antara data bertipe record dengan data bertipe array. 3. Dapat menggunakan with untuk data bertipe record. 1. Misalkan akan dibuat sebuah program untuk menghitung nilai akhir seorang mahasiswa. Dalam hal ini, Data Mahasiswa terdiri dari field-field: NoBp, Nama, UTS, UAS, Tugas, NA, dan Indeks. Data Mahasiswa tersebut dideklarasikan sebagai record. Input dari program tersebut adalah NoBp, Nama, UTS, UAS, dan Tugas. NA = 0.45*UTS + 0.35*UAS + 0.2*Tugas Indeks dihitung sebagai berikut: Jika NA 81 maka Indeks = A Jika 66 NA < 81 maka Indeks = B Jika 56 NA < 66 maka Indeks = C Jika 41 NA < 56 maka Indeks = D Jika NA < 41 maka Indeks = E Setiap selesai memproses data seorang mahasiswa, munculkan sebuah pertanyaan Apakah akan menginput data mahasiswa lain [Y/T]. Jika dijawab dengan Y atau y, maka input data mahasiswa yang baru, sedangkan data mahasiswa yang lama dihapus dari layar.. Sebaliknya jika T atau t, maka selesai. Dalam hal ini, gunakan fungsi UPCASE. (---------- Nama File : PRAK231.PAS ------------) 2. Seperti soal No.1, tetapi program tersebut menggunakan WITH dalam menggunakan data yang bertipe Record (---------- Nama File : PRAK232.PAS ------------) 3. Misalkan akan dibuat sebuah program untuk menghitung nilai akhir dari beberapa orang mahasiswa. Dalam hal ini, Data Mahasiswa mempunyai field-field, rumus penghitungan NA dan Indeks seperti soal no.1, tetapi data ini merupakan array bertipe record. Ketentuan lainnya adalah : Input terlebih dahulu banyaknya mahasiswa, misalkan n. Untuk masing-masing mahasiswa, input NoBp, Nama, UTS, UAS, dan Tugas. Hitung juga berapa orang mahasiswa yang mendapatkan nilai A, B, C, D, dan E. 5

Setelah memasukkan data-data dari setiap mahasiswa, yaitu sebanyak n orang mahasiswa dan proses perhitungan lainnya, maka hasil output yang diinginkan adalah dalam bentuk tabel seperti berikut ini. <<<<< Daftar Nilai Mahasiswa >>>>> ---------------------------------- ------------------------------------------------------ No NoBP Nama UTS UAS Tugas NA Indeks ------------------------------------------------------ 1. 2. n. ------------------------------------------------------ Nilai A = Orang Nilai B = Orang Nilai C = Orang Nilai D = Orang Nilai E = Orang (---------- Nama File : PRAK233.PAS ------------) 4. Seperti soal No.3, tetapi program tersebut menggunakan WITH dalam menggunakan data Array yang bertipe Record (---------- Nama File : PRAK234.PAS ------------) 6

Praktikum 4 1. Dapat mendefinisikan sebuah variabel file yang dapat digunakan untuk membuat file teks pada pemrograman Pascal. 2. Dapat membuat file teks serta field-field (variabel-variabel) yang dilibatkan sebagai file eksternal baru yang belum ada sebelumnya. 3. Dapat membaca file teks yang sudah ada serta field-fieldnya dan menampilkan isinya ke layar monitor. 4. Dapat menggunakan compiler directive untuk menghindari terhapusnya isi file eksternal yang sudah pernah dibuat. 1. Misalkan data mahasiswa yang dibuat pada praktikum 3, setiap kali program dijalankan data yang telah dimasukkan akan hilang karena tidak disimpan ke dalam file. Untuk mengatasi masalah tersebut, yaitu data yang telah dimasukan tidak hilang, maka data akan disimpan ke dalam file di drive A:\ dengan nama MHS.DAT. Karena file tersebut belum ada sebelumnya, maka buat dengan menggunakan REWRITE. Data yang disimpan hanya field-field yang diinput dari keyboard, sedangkan field yang diperoleh dari hasil proses perhitungan tidak disimpan, dengan tujuan agar media penyimpanan tidak cepat penuh. Gunakan pengulangan untuk memasukkan data mahasiswa yang lebih dari satu orang. Jadi untuk data mahasiswa tersebut yang disimpan adalah field-field : NoBp, Nama, UTS, UAS dan Tugas. Sedangkan fieldfiled NA dan Indeks tidak disimpan. Gunakan format penulisan untuk masingmasing field sesuai dengan panjang yang diinginkan. Setelah data diinput, coba lihat hasilnya dengan membuka file MHS.DAT menggunakan editor pascal seperti membuka program pascal, tetapi tidak bisa dijalankan. Perhatikan bahwa Rewrite hanya untuk membuat file teks baru. Jika file teks yang dibuka dengan rewrite sudah ada, maka isinya akan terhapus karena dianggap file teks baru. (---------- Nama File : PRAK241.PAS ------------) 2. File teks yang dibuat pada No.1 akan dibaca dan hasilkan akan ditampilkan ke layar monitor. Baca field-field NoBp, Nama, UTS, UAS dan Tugas dari file MHS.DAT di A:\ dan panjangnya format masing-masing field harus sesuai dengan panjang format waktu menyimpan. Kalau berbeda, maka hasil yang diperoleh akan salah karena akan mengambil sebagian dari isi field lain. Sedangkan field NA dan Indeks sebelum ditampilkan dilakukan proses berikut: NA = 0.45*UTS + 0.35*UAS + 0.2*Tugas 7

Indeks dihitung sebagai berikut: Jika NA 81 maka Indeks = A Jika 66 NA < 81 maka Indeks = B Jika 56 NA < 66 maka Indeks = C Jika 41 NA < 56 maka Indeks = D Jika NA < 41 maka Indeks = E Pembacaan data pada file teks dilanjutkan sampai akhir dari file (EOF) ditemukan. Dalam hal ini file teks dibuka dengan RESET. Bentuk tampilan dilayar adalah : <<<<< Daftar Nilai Mahasiswa >>>>> ---------------------------------- ------------------------------------------------------ No NoBP Nama UTS UAS Tugas NA Indeks ------------------------------------------------------ 1 2 n ------------------------------------------------------ Nilai A = Orang Nilai B = Orang Nilai C = Orang Nilai D = Orang Nilai E = Orang (---------- Nama File : PRAK242.PAS ------------) 3. Seperti No.1, akan tetapi akan dimunculkan sebuah pesan kalau data yang akan dibuat sudah ada. Karena itu modifikasi program yang telah dibuat pada No.1 dengan menggunakan compiler directive {$I+} dan {$I-}. Tampilkan pesan : Apakah file ini akan dihapus? [Y/T]. Jika dijawab dengan Y maka file teks yang sudah ada isinya akan terhapus sebaliknya jika dijawab dengan T, maka proses tidak dilanjutkan dan keluar dengan menggunakan HALT. Gunakan IORESULT untuk mengecek kesalahan. Dalam hal ini, kombinasikan untuk membuka file antara RESET dengan REWRITE. (---------- Nama File : PRAK243.PAS ------------) Catatan : Fungsi dan prosedur yang digunakan adalah ASSIGN, REWRITE, RESET, CLOSE, UPCASE, IORESULT, HALT. 8

Praktikum 5 1. Dapat mencari field-field tertentu yang telah disimpan pada file teks pada media penyimpanan seperti hardisk atau disket. 2. Dapat menambahkan data baru ke dalam file teks yang telah disimpan pada media penyimpanan seperti hardisk atau disket. 3. Dapat mengedit data pada file teks untuk mengkoreksi kesalahan pada file teks tersebut. 1. Misalkan file teks yang telah disimpan pada Praktikum 4 yaitu file teks MHS.DAT. Buat program untuk mencari data pada file tersebut berdasarkan NOBP. (---------- Nama File : PRAK251.PAS ------------) 2. Modifikasi program pada soal No.1, bila data yang dicari berdasarkan NOBP tersebut ingin diedit. Simpan kembali hasil perubahan yang telah diedit ke dalam file teks MHS.DAT. Selanjutnya tampilkan semua data, baik yang telah dirubah tersebut atau yang tidak dirubah ke layar monitor seperti soal no. 2 pada Praktikum 4. (---------- Nama File : PRAK252.PAS ------------) 3. Modifikasi program pada soal No.2, selain data tersebut dicari berdasarkan NOBP tersebut, juga dapat menambahkan data baru. Buat sebuah menu pilihan dengan pilihannya adalah 1. untuk mengedit data dan 2. untuk menambah data baru.. Simpan kembali hasil perubahan yang telah diedit dan telah ditambahkan data baru ke dalam file teks MHS.DAT. Selanjutnya tampilkan semua data, baik yang telah dirubah, ditambah maupun yang tidak dirubah ke layar monitor seperti soal no. 2 pada Praktikum 4. (---------- Nama File : PRAK253.PAS ------------) 9

Praktikum 6 1. Dapat mendefinisikan dan membuat sebuah unit pada Turbo Pascal. 2. Dapat menjalankan unit dan meletakkan unit yang telah dibuat di dalam komputer. 3. Dapat menggunakan unit tersebut untuk membantu program-program lainnya. 1. Buat sebuah unit dengan nama Proses. Unit tersebut berisi fungsi dan prosedur yang ada pada Praktikum 1 dan Praktikum 2. Jalankan program tersebut dan amati apa file yang terjadi. (---------- Nama File : PROSES.PAS ------------) Pastikan unit PROSES yang dihasilkan ada di dalam folder program Pascal. 2. Gunakan unit yang telah dibuat pada soal No.1, untuk menyelesaikan masalah pada Praktikum 1 dan Praktikum 2. (---------- Nama File : PRAK261.PAS ------------) 10

Praktikum 7 1. Dapat membuat bentuk tampilan dilayar yang lebih menarik. 2. Dapat membuat animasi sederhana pada layar monitor dalam bentuk tipe text. 3. Dapat membuat tulisan dalam kotak dan bayangan dari kotak tersebut. 1. Jalankan program berikut dan pelajari apa maksud dari masing-masing perintah dari program tersebut dan amati hasilnya pada layar monitor. Program Praktikum; uses crt; const tulisan = 'Jurusan Matematika'; var i, j, p_tulisan, kiri, kanan, atas, bawah : integer; selesai : boolean; textbackground(blue) ; clrscr; kiri := 8; atas := 3; kanan := 80-kiri+1; bawah := 25-atas+1; window(kiri, atas, kanan, bawah); textbackground(cyan); clrscr; p_tulisan := Length(tulisan); i := 1; j := 1; selesai := false; repeat if i < (kanan - kiri - p_tulisan + 3) then gotoxy(i,11);textcolor(black);write(tulisan); delay(100); gotoxy(i,11);textcolor(cyan);write(tulisan) ; delay(1); inc(i); end else gotoxy(kanan - kiri - p_tulisan + 2 -j, 11); textcolor(black);write(tulisan); delay(100); gotoxy(kanan - kiri - p_tulisan + 2 -j,11); textcolor(cyan); write(tulisan); delay(5); inc(j); if ((kanan - kiri - p_tulisan + 2-j) = 0) then selesai := true; gotoxy(kanan - kiri - p_tulisan + 3 -j, 11); textcolor(black);write(tulisan); delay(100); end until selesai; repeat until keypressed; end. (---------- Nama File : PRAK271.PAS ------------) 11

2. Rubah program pada No.1, sehingga hasil yang diperoleh sama dengan di atas, tetapi perbedaannya adalah sebagai berikut : Tulisan yang muncul adalah Nama dan NOBP anda tulisan muncul pertama kali ditengah-tengah layar bergerak ke kiri sampai huruf pertama dari tulisan menyentuh bingkai kiri bergerak ke kanan sampai huruf terakhir dari tulisan menyentuh bingkai kanan bergerak lagi ke kiri dan seterusnya sampai sembarang tombol di tekan. (---------- Nama File : PRAK272.PAS ------------) 3. Jalankan program berikut dan pelajari apa maksud dari masing-masing perintah dari program tersebut dan amati hasilnya pada layar monitor. Program Prak273_pas; uses crt; var i, j, p_tulisan, kiri, kanan, atas, bawah : integer; textcolor(cyan); textbackground(black); clrscr; for i:=1 to 26 do for j:=1 to 80 do write(chr(176)); kiri := 8; atas := 3; kanan := 80-kiri; bawah := 25-atas-1; textcolor(black); for i:=1 to (kanan-kiri) do gotoxy(kiri+2+i,bawah+1);write(chr(176)); for i:=1 to (bawah-atas) do for j:= 1 to 2 do gotoxy(kanan+j,atas+i);write(chr(176)); window(kiri,atas, kanan, bawah); textbackground(blue); clrscr; textcolor(white); gotoxy(2,1);write(chr(218)); gotoxy(kanan-kiri,1);write(chr(191)); for i:=3 to kanan-kiri-1 do gotoxy(i,1);write(chr(196)); gotoxy(i,bawah-atas+1);write(chr(196)); for j:=2 to bawah-atas do gotoxy(2,j); write(chr(179)); gotoxy(kanan-kiri,j);write(chr(179)); gotoxy(2,j+1);write(chr(192)); gotoxy(kanan-kiri,j+1);write(chr(217)); window(kiri+2,atas+1, kanan-2,bawah-1); textcolor(yellow); gotoxy(17,2);writeln('isikan Data Anda di bawah ini'); gotoxy(16,3); for i:=1 to 31 do write(chr(196)); repeat until keypressed; end. (---------- Nama File : PRAK273.PAS ------------) 12

4. Lengkapi program pada No.3, sehingga hasil yang diperoleh berisi data pribadi anda, yaitu : 1. Nama :. 2. NoBP :. 3. Tempat / Tanggal Lahir :. 4. Alamat :.. 5. Motto Hidup :. Atur letak data anda sedemikian rupa sehingga kelihatannya bagus pada layar yang telah disediakan. (---------- Nama File : PRAK274.PAS ------------) 13

Praktikum 8 1. Bekerja dalam mode grafik dan dapat berpindah dari mode text ke mode grafik. 2. Dapat membuat transformasi dari bentuk koordinat di monitor ke bentuk koordinat pada gambar. 3. Dapat menggambarkan sebuah grafik fungsi sederhana dengan menggunakan transformasi koordinat. 1. Jalankan program berikut dan pelajari apa maksud dari masing-masing perintah dari program tersebut dan amati hasilnya pada layar monitor. Program Prakt281; Uses crt, graph; const delx = 0.001; var x, y, xl, yl, xmin, ymin, xmax, ymax, xk, yk : real; Procedure Membuka_Grafik; Var gd, gm,error : integer; gd := detect; InitGraph(gd,gm,''); error := Graphresult; if error <> GrOk then Halt; Procedure Menutup_Grafik; repeat until Readkey = #27; closegraph; Procedure Bidang_Gambar(Var xmin, ymin, xmax, ymax :real); xmin := -2*Pi; ymin := -2; xmax := 2*Pi; ymax := 2; Procedure Transformasi(xmin,ymin,xmax,ymax,xgambar,ygambar : real; var xlayar, ylayar :real); xlayar := Getmaxx/(xmax-xmin)*(-xmin+xgambar); ylayar := Getmaxy/(ymax-ymin)*(ymax-ygambar); { ----- Program Utama ------- } clrscr; Bidang_Gambar(xmin,ymin,xmax,ymax); Membuka_Grafik; Rectangle(0,0,Getmaxx,Getmaxy); x := xmin; repeat y := sin(x); Transformasi(xmin, ymin, xmax, ymax, x, y, xl, yl); putpixel(trunc(xl), trunc(yl), red); x := x + delx; until (x >= xmax) or (y >= ymax); Menutup_Grafik; end. (---------- Nama File : PRAK281.PAS ------------) 14

2. Lengkapi program pada No.1, sehingga hasil yang diperoleh adalah sebagai berikut : Bidang gambar yang berisi nilai dari variabel-variabel xmin, ymin, xmax dan ymax di input dari keyboard. Tambahkan sumbu koordinat X dan sumbu koordinat Y pada gambar yang muncul, yaitu dengan menambahkan program berikut pada program utama. Transformasi(xmin, ymin, xmax, ymax, 0, ymin, x1, y1); Transformasi(xmin, ymin, xmax, ymax, 0, ymax, x2, y2); line(trunc(x1),trunc(y1),trunc(x2),trunc(y2)); Transformasi(xmin, ymin, xmax, ymax, xmin, 0, x1, y1); Transformasi(xmin, ymin, xmax, ymax, xmax, 0, x2, y2); line(trunc(x1),trunc(y1),trunc(x2),trunc(y2)); (Tambahkan variabel-variabel baru yang belum terdeklarasi pada bagian pendeklarasian). (---------- Nama File : PRAK282.PAS ------------) 3. Lengkapi program pada No.2, sehingga hasil yang diperoleh di samping grafik fungsi y = sin (x) dengan warna merah juga secara bersamaan tampilkan juga grafik fungsi z = cos (x) dengan warna cyan. (---------- Nama File : PRAK283.PAS ------------) 4. Rubah fungsi dari soal pada No.2, menjadi fungsi y = x 3 dengan batas bidang gambar xmin, ymin, xmax dan ymax masing-masing adalah -3, -30, 3 dan 30. (---------- Nama File : PRAK284.PAS ------------) Catatan : Kalau terjadi kesalahan bahwa initialisasi grafik belum dilakukan, maka file dengan ekstension.bgi tidak pada tempat yang sama dengan program yang aktif. Copy file-file.bgi tersebut dari direktori / folder PASCAL\BGI ke dalam folder yang aktif yaitu PASCAL\BIN atau nama folder yang lain sesuai dengan komputer yang digunakan. 15

Praktikum 9 1. Bekerja dalam mode grafik dan dapat berpindah dari mode text ke mode grafik. 2. Dapat membuat transformasi dari bentuk koordinat di monitor ke bentuk koordinat pada gambar. 3. Dapat membuat sebuah animasi dalam mode grafik. 1. Jalankan program berikut dan pelajari apa maksud dari masing-masing perintah dari program tersebut dan amati hasilnya pada layar monitor. Uses crt, graph; const delx =0.001; var x, y, xl,yl,xmin,ymin,xmax,ymax,xk,yk,x1,x2,y1,y2 :real; dtx, dty : string[5]; Procedure Membuka_Grafik; Var gd, gm,errorcode : integer; gd := detect; InitGraph(gd,gm,''); errorcode := Graphresult; if errorcode <> GrOk then Halt; Procedure Menutup_Grafik; setcolor(white); settextstyle(smallfont, horizdir,5); settextjustify(centertext, righttext); outtextxy(getmaxx div 2, 19*Getmaxy div 20,'Tekan <ESC>'); repeat until Readkey = #27; closegraph; Procedure Bidang_Gambar(Var xmin,ymin,xmax,ymax :real); xmin := -2*Pi; ymin := -2; xmax := 2*Pi; ymax := 2; Procedure Transformasi(xmin,ymin,xmax,ymax, xgambar,ygambar :real; var xlayar, ylayar :real); xlayar := 3*Getmaxx div 4 /(xmax-xmin)*(-xmin+xgambar); ylayar := 9*Getmaxy div 10/(ymax-ymin)*(ymax-ygambar); procedure Kerangka; Rectangle(0,0,3*Getmaxx div 4, 9*Getmaxy div 10); Rectangle(3*Getmaxx div 4, 0, Getmaxx, 9*Getmaxy div 10); Rectangle(0, 9*Getmaxy div 10, Getmaxx, Getmaxy ); settextstyle(smallfont, horizdir,5); settextjustify(centertext, centertext); outtextxy(7*getmaxx div 8, Getmaxy div 10,'DATA :'); 16

Procedure Sumbu_Koordinat; setcolor(blue); Transformasi(xmin, ymin, xmax, ymax, 0, ymin, x1, y1); Transformasi(xmin, ymin, xmax, ymax, 0, ymax, x2, y2); line(trunc(x1),trunc(y1),trunc(x2),trunc(y2)); Transformasi(xmin, ymin, xmax, ymax, xmin, 0, x1, y1); Transformasi(xmin, ymin, xmax, ymax, xmax, 0, x2, y2); line(trunc(x1),trunc(y1),trunc(x2),trunc(y2)); setcolor(white); clrscr; Bidang_Gambar(xmin,ymin,xmax,ymax); Membuka_Grafik; kerangka; sumbu_koordinat; x := xmin; repeat y := sin(x); setcolor(white); str(x:5:2,dtx); str(y:5:2,dty); outtextxy(7*getmaxx div 8, 2*Getmaxy div 10,'X = ' + dtx); outtextxy(7*getmaxx div 8, 3*Getmaxy div 10,'Y = ' + dty); Transformasi(xmin, ymin, xmax, ymax, x, y, xl, yl); putpixel(trunc(xl), trunc(yl), red); setcolor(black); outtextxy(7*getmaxx div 8, 2*Getmaxy div 10,'X = ' + dtx); outtextxy(7*getmaxx div 8, 3*Getmaxy div 10,'Y = ' + dty); x := x + delx; until (x >= xmax) or (y >= ymax); setcolor(cyan); outtextxy(7*getmaxx div 8, 2*Getmaxy div 10,'X = ' + dtx); outtextxy(7*getmaxx div 8, 3*Getmaxy div 10,'Y = ' + dty); Menutup_Grafik; end. (---------- Nama File : PRAK291.PAS ------------) 2. Lengkapi program pada No.1, sehingga hasil yang diperoleh adalah sebagai berikut : Tampilkan nilai y maksimum dan y minimum serta nilai x masing-masing dimana y maksimum dan y minimum terjadi. Tampilkan juga informasi nilai x dimana fungsi itu memotong sumbu-x. (---------- Nama File : PRAK292.PAS ------------) 3. Rubah fungsi dari soal pada No.2, menjadi fungsi y = x 3 dengan batas bidang gambar xmin, ymin, xmax dan ymax masing-masing adalah -3, -30, 3 dan 30. (---------- Nama File : PRAK293.PAS ------------) 17