You are on page 1of 18

BAB I -PENDAHULUANa. Waktu dan Tempat Praktikum 1. Waktu Praktikum Hari Jam : Kamis : Pukul 15.00-17.00 wita.

2. Tempat Praktikum Lab. Warintek, Fakultas matematika dan ilmu pengetahuan alam. Universitas Haluoleo. b. Tujuan Praktikum Adapun tujuan dari praktikum pemrograman komputer yaitu agar mahasiswa mengetahui lebih dalam mengenai bahasa pemrograman khususnya Turbo Pascal dan mengaplikasikannya untuk menyelesaikan persoalan matematika. c. Kegiatan Praktikum 1. Diberi masalah atau kasus 2. Diselesaikan dengan Turbo Pascal

BAB II -PEMBAHASANBahasa Pascal adalah bahasa pemrograman tingkat tinggi yang cukup populer khususnya di Indonesia. Hal ini disebabkan bahasa Pascal lebih mudah dipahami dibandingkan bahasa pemrograman lainnya, seperti bahasa C, bahasa asembler,dll. Selain itu, bahasa pascal adalah bahasa pemrograman yang terstruktur dan lebih mendekati bahasa manusia sehingga sangat cocok untuk diterapkan dalam dunia pendidikan. Konsep Pemrograman adalah bentuk dasar dari suatu program yaitu algoritma program. Teknik pemrograman adalah cara mengubah suatu algoritma menjadi program yang sebenarnya dengan bahasa pemrograman tertentu sehingga mudah untuk dipelajari. Pertemuan 1 Algoritma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasioperasi untuk menyelesaikan suatu jenis masalah yang khusus atau serangkaian langkah yang jelas, urut, terhingga untuk menyelesaikan masalah dengan komputer. Perintah input-output antara lain yaitu perintah read dan readln serta perintah write dan writeln. Perbedaan dari perintah read dan readln adalah setelah meminta masukkan. Jika readln akan diakhiri dengan pindah baris sedangkan pada read tidak. Untuk perintah writeln dan write digunakan untuk mencetak hasil. Menampilkan Text dan Melakukan Operasi Matematika Pada praktikum 1 yaitu membuat suatu program dengan melakukan input dan akan dihasilkan output dari proses yang dilakukan. Selain itu, kami membuat suatu program yang tidak menerima input dan juga tidak melakukan proses, tetapi hanya akan menghasilkan suatu output yang berupa data string dilayar. Contoh: Program untuk biodata diri
program Biodata_diri; uses crt; begin clrscr; writeln('Nama : wahyu mustika ningrum'); writeln('Tetala : kendari, 26 agustus 1994'); writeln('agama : islam'); writeln('jenis kelamin : perempuan'); writeln('suku : jawa'); writeln('alamat : By pass'); writeln('hobbi ; nonton'); writeln('status : mahasiswa Unhalu'); writeln('jurusan : matematika Mipa'); writeln('angkatan ; 2011'); writeln('No Hp : 085756662459'); writeln('=========================='); writeln('alumni sekolah : '); write('SDN 2 Lambuya,'); write('SMPN 1 Lambuya,'); write('SMAN 1 Lambuya'); readln; end.

Hasil Output :

Penjelasan : Dapat kita lihat perbedaan antara write dan writeln, walaupun keduanya berfungsi untuk menuliskan parameternya dilayar, namun terdapat sedikit perbedaan. Pada perintah writeln letak kursor akan langsung pindah baris dibawahnya sedangkan pada perintah write hanya akan menuliskan parameternya saja tanpa pindah baris.
program menentukan_volume_bola; uses Crt; const pi = 3.14; var r: integer; volume :real; begin clrscr; writeln('menentukan volume bola'); writeln('masukkan nilai jari-jari');readln(r); volume:= 4/3*pi*r*r*r; writeln('jadi volume bola=',volume:4:2); readln; end.

Hasil Output : penjelasan : pada program diatas terdapat suatu konstanta (cost)dan variabel(var). Konstanta digunakan untuk menyimpan suatu nilai konstanta tertentu yang tersimpan dalam memori yang nilainya tidak bisa diubah dan dapat dipanggil lagi sedangkan variabel digunakan untuk menyimpan data yang dipakai dalam program.

Pertemuan 2 : Sequential/Runtutan Program ini digunakan untuk mengontrol suatu program sehingga berjalan secara berurutan. Program dibaca dari mulai perintah yang pertama dituliskan kemudian turun keperintah selanjutnya, demikian seterusnya sampai pada akhir perintah.
Program Lama_Hidup; Uses crt; Var t1,b1,h1,t2,b2,h2,x1,x2,t,b,h,beta,alpha:integer; Begin Clrscr; Write ('Lahir = ');readln(t1,b1,h1); Writeln; Write ('Hari Ini = ');readln(t2,b2,h2); x1:= 365*t1+30*b1+h1; x2:= 365*t2+30*b2+h2; beta:= x2-x1; t:= beta div 365; alpha:= beta mod 365; b:= alpha div 30; h:= alpha mod 30; Write ('Selisih Tahun adalah = ',t); Writeln; Write ('Selisih Bulan adalah = ',b); Writeln; Write ('Selisih Hari adalah = ',h); readln; end.

Hasil Output :

Penjelasan : Pada program diatas, terdapat suatu operator div dan mod. Operator div digunakan untuk menentukan hasil perhitungan baik dalam baik maupun tahun sedangkan untuk operator mod digunakan untuk menentukan sisanya dalam hari.

Pertemuan 3 : Seleksi Kondisi/Percabangan (If....Then....) Percabangan/branching adalah suatu system control yang memungkinkan programmer untuk dapat membuat suatu program yang bisa saja memiliki satu langkah diantara sejumlah langkah yang dikerjakan. Dalam Pascal, percabangan menggunakan syntax if...then..dan case...of... . Struktur if..then : if kondisi then statement kondisi adalah syarat yang diseleksi. Bila kondisi benar maka statement akan dikerjakan. Dan untuk else tinggal ditambahkan setelah statement 1.
program Menentukan_Bilangan; uses Crt; var A: integer; komentar : string; begin clrscr; write ('Masukkan nilai = '); readln(A); if A > 0 then komentar := 'Bilangan Positif' else if A < 0 then komentar := 'Bilangan Negatif' else if A = 0 then komentar := 'Sama dengan Nol'; writeln('Hasil input'); writeln('Jadi, nilai ',A,' yang anda masukkan merupakan ',komentar); readln; end.

Hasil Output :

Penjelasan: Bila kondisi benar (terpenuhi) maka statement1 akan dikerjakan, sedangkan bila kondisi salah (tidak terpenuhi), maka statement2 yang akan dikerjakan. Untuk pernyataan IF yang berkalang (ada pernyataan IF yang lain dalam pernyataan IF), ELSE selalu berpasangan dengan dengan IF yang terletak sebelum dan yang paling dekat dengan ELSE tersebut, serta terletak dalam blok pernyataan yang sama.

Pertemuan 4 : Seleksi Kondisi/Percabangan (Case...Of...) Struktur Case..Of... mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statemen yang diawali dengan suatu label permasalahan yang mempunyai tipe sama dengan selector. Statemen yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan nilai selector akan diproses sedang statemen yang lainnya tidak. Bentuk Struktur Case..of.. Case variabel kondisi of Case-label 1; statement1; Case-label 2; statement2; .............. Case-label n; statementn; End;
Program Nilai_Bukuu; Uses crt; Var Jenis : char; Banyak : integer; Harga,Jumlah : real; Begin clrscr; Writeln('Daftar Buku'); Writeln('============='); Writeln('A) Matematika'); Writeln('B) Kimia '); Writeln('C) Fisika '); Writeln('D) Biologi '); Writeln('============='); Writeln; Write('Silahkan Pilih Jenis Buku (A/B/C/D) : '); readln(Jenis); writeln; Write('Banyak Buku yang Dibeli : '); readln(Banyak); Case Jenis Of 'A' : Harga := 30000; 'B' : Harga := 20000; 'C' : Harga := 15000; 'D' : Harga := 10000; End; Jumlah := Banyak * Harga ; Writeln; Writeln('Jumlah yang harus dibayar adalah : Rp. ',Jumlah:5:0); Readln; End.

Hasil Output:

program penjualan_jaket; uses crt; var ukuran : char; banyak : integer; harga,jumlah : integer; begin clrscr; write ('selisihkan pilih ukuran jaket (s/m/l) : '); readln(ukuran); write ('banyak jaket yang dibeli : '); readln(banyak); case ukuran of 's' : harga := 1000; 'm' : harga := 1250; 'l' : harga := 15000; end; jumlah := banyak * harga; writeln ('jumlah yang harus dibayar adalah : Rp. ',jumlah); readln; end.

Penjelasan : Pernyataan Case . Of . Digunakan untuk pengambilan keputusan jika terdapat lebih dari dua alternatif jawaban yang tersedia. Jika ungkapan bernilai label 1, maka dikerjakan statemen1, jika bernilai label 2 akan dikerjakan statemen 2 dan seterusnya.

Pertemuan 5: Looping/Repetiton/Perulangan (For....Do...) Perulangan adalah untuk mengulang statement atau blok statement berulang kali sesuai sejumlah yang ditentukan pemakai. Perulangan for...do.. dapat berbentuk perulangan positif, perulangan negatif, dan perulangan tersarang. Perulangan For tersarang adalah perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari awalnya dan seterusnya.
program Cetak_karakter; uses Crt; var awal, akhir, karak: char; begin Clrscr; write('karakter awal : '); readln(awal); write('karakter akhir : '); readln(akhir); writeln; write('N A I K : '); for karak := awal to akhir do write(karak); writeln; write(' T U R U N : '); for karak:= akhir downto awal do write(karak); readln; end.

Hasil output :

Penjelasan : Pada kalang TO ungkapan1 < ungkapan2 sedangkan untuk kalang DOWNTO ungkapan1 > ungkapan2. Jika statemen yang diulang tunggal, yaitu hanya Write(karak). Cobalah jika awal diisi dengan 1 dan akhir diisi dengan z, outputnya akan menampilkan abjad juga. Cobalah jika write(karak) diganti writeln(karak), perubahannya adalah angka yang di tampilkan secara vertikal. Sering kita temukan bahwa pernyataan yang akan dulang bukan tunggal, tetapi banyak sehingga kita harus memakai blok pernyataan.

Pertemuan 6: Looping/Repetiton/Perulangan (While...Do....) Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi kondisi, sehingga program dapat menentukan tindakan apa yang harus dikerjakan, tergantung kondisi yang diseleksi tersebut. Perulangan While...do... tidak dilakukan jika kondisi tidak terpenuhi atau perulangan akan terus dikerjakan sampai kondisi bernilai salah. Struktur while...Do... While expression Do statement; While expression Do Begin Statement; Statement; ........ End.
program jumlah_deret; uses crt; var n, jumlah, pencacah : integer; begin clrscr; writeln('menghitung jumlah 1 + 2 + 3 + ..... + n '); write('n = ? '); readln(n); pencacah:=1; jumlah:=0; while pencacah <= n do begin jumlah:=jumlah+pencacah; pencacah:=pencacah + 1; end; writeln; writeln('jumlah deret = ',jumlah:4); readln; end.

Atau

penjelasan : Pada perintah while do, kondisi yang digunakan yaitu boolean sebagai syarat agar statemen dikerjakan berulang kali. statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan diproses ulang.

Pertemuan 7:
Looping/Repetiton/Perulangan

(Repeat.........Until...)
Perulangan Repeat...Until....digunakan untuk mengulang (Repeat) statement atau blok statement sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi. Atau dapat kita katakan bahwa suatu program akan terus berjalan selama masih bernilai salah dan apabila nilainya sudah benar, maka program akan berhenti. Format penulisannya: Repeat Statement; Until Ungkapan_Logika;
program deret; uses crt; var n,i,j : integer; jawab : char; begin clrscr; writeln('Program Pengulangan'); writeln('Deret Bilangan'); writeln; write('Baca nilai = '); readln(n); repeat for i := 1 to n do begin j := i*i; write(j:3); write; end; writeln; writeln; write('Ulang? [Y/N] : '); readln(jawab); until jawab = 'N'; readln; end.

Hasil Output :

Penjelasan : Penggunaan Repeat Until biasanya digunakan bila jumlah pengulangan belum dapat ditentukan pada saat program ditulis. Perbedaannya dengan yang lain yaitu terletak pada letak pengecekan kondisi yang mana Repeat Until kondisi di cek pada akhir kalang. 10

Pertemuan 8: Pemrograman Modular/Terpecah (Procedure) Ada 2 jenis pemrograman modular, yaitu : Procedure (prosedur) dan Function(fungsi). Procedure merupakan bentuk subprogram dalam bahasa Pascal, yaitu sekelompok statemen yang bisa menjadi bagian dari program / sub program. Procedure dipakai untuk mengelompokkan bagian program, yang dapat dikerjakan berkali-kali dengan memanggil namanya saja, sehingga menyederhanakan struktur program dan mengurangi pengulangan penulisan bagian-baigan program berkali-kali. Variabel dalam procedure dibagi menjadi 2 yaitu : a. Variabel bersifat lokal : Artinya nilai yang terdapat didalam suatu modul program hanya dapat pada modul sehingga tidak dapat digunakan pada program lain. b. Variabel bersifat Global : Artinya nilai dapat digunakan untuk beberapa atau semua unit program maka nilai tersebut harus dideklarasikan diatas modul yang akan menggunakannya.
program variabel; uses crt; procedure wahyu; var a,b,c : integer; hasil : real; begin write('Input nilai a = '); readln(a); write('Input nilai b = '); readln(b); write('Input nilai c = '); readln(c); hasil := (1/(a*a) + 1/(b*b) + 1/(c*c))*a*a; writeln('Jadi, hasil nilainya adalah ',hasil:5:2); end; procedure ayu; var a,b,x,y : integer; hasil : real; begin writeln; write('Input nilai a = '); readln(a); write('Input niali b = '); readln(b); write('Input nilai x = '); readln(x); write('Input nilai y = '); readln(y); hasil := (x*y + a*x + b*y)*(x*y + a*x + b*y); writeln('Jadi, hasil nilainya adalah ',hasil:5:2); end; procedure nini; var x,y,a,b : integer; hasil : real; begin writeln; write('Input nilai x = '); readln(x); write('Input nilai y = '); readln(y); write('Input niali a = '); readln(a); write('Input nilai b = '); readln(b); hasil := (4*a*x + ((5*b*y)/(a*b)))*(4*a*x + ((5*b*y)/(a*b))); writeln('Jadi, hasil nilainya adalah ',hasil:5:2); end; begin clrscr; wahyu; ayu; nini; readln; end.

11

Hasil Output :

program tukar_data; var a, b : real;

{deklarasi variabel global}

procedure info; begin writeln('****************************'); writeln('** Program Tukar Data **'); writeln('** Dengan Procedure **'); writeln('** Oleh : **'); writeln('** Wahyu mustikaningrum **'); writeln('****************************'); end; {Prosedur penukaran data} procedure tukar(var x,y : real); var tamp : real; begin tamp := x; x := y; y := tamp; end; {Program utama} Begin info; a := 12.33; b := 67.98; writeln('Sebelum memanggil prosedur Tukar'); writeln('a = ',a:7:2,' b = ',b:7:2); tukar(a,b); writeln('Setelah memanggil prosedur Tukar'); writeln('a = ',a:7:2,' b = ',b:7:2); readln; End.

Penjelasan : Deklarasi procedure terletak pada bagian deklarasi pada program yang menggunakannya, dibawah deklarasi Var pada program utama. Sebuah procedure bisa memanggil procedure lain yang telah

didefinikan sebelumnya, kemudian dipanggil pada program utama. Parameter-parameter aktual ini harus dideklarasikan pada program utama, tidak boleh berupa konstanta atau ungkapan. Urutan posisi, caca parameter dan tipe data setiap parameternya harus sesuai dengan parameter formal.
12

Pertemuan 9: Pemrograman Modular/Terpecah (Function) Function adalah fungsi yang didefinisikan sendiri oleh programmer seperti halnya procedure tetapi fungsi lebih berfungsi untuk melakukan tugas khusus dari parameter dan non parameter untuk return Value nilai kembali yang diproses kedalam nama fungsi sebagai nilai balik terhadap fungsi tersebut. Return Value merupakan data yang dapat berjenis integer, real, char, string, namun tidak dapat bertipe array atau record. Syntaxnya adalah : function identifier : type data; Begin .................. .................. End. Parameter nilai dalam function Function dengan parameter acuan yaitu ditambah var pada deklarasi parameter. Function tanpa parameter yaitu hasil dari function tidak dapat diatur.

contoh : mencari nilai fungsi dengan function


program mencari_nilai_fungsi; uses crt; var c,d,e,h,g: real; function f (a,b,y,x,z:real): real; begin f:= a*x*y + b*x*x*y + y*z * a; end; begin clrscr; write('masukkan nilai a= '); readln(c); write('masukkan nilai b= '); readln(d); write('masukkan nilai x= '); readln(e); write('masukkan nilai y= '); readln(h); write('masukkan nilai z= '); readln(g); writeln; writeln('Hasil dari f = axy + bx^2y +yz + a adalah = ',f(c,d,e,h,g):4:2); readln; end.

13

Hasil Output:

Penjelasan : Blok pada function hampir sama dengan blok pada procedure, hanya pada function harus dideklarasikan dengan tipe dari function tersebut yang merupakan tipe hasil dari function itu sendiri. Sehingga dikatakan dapat mengembalikan nilai.

14

Pertemuan 10: Type Data Kompleks

(Array Satu dan dua Dimensi)


Array merupakan tipe data berstruktur yang berisi sekumpulan komponen / elemen dengan tipe sama, yang menggunakan identifier yang sama, dengan masing-masing elemen memiliki indeks tersendiri, yang biasa dinamakan indeks array. Melalui indeks array ini, setiap elemen dalam array dapat diakses secara langsung.Pendefinisian tipe array terdiri dari kata baku ARRAY diikuti dengan tipeindeks yang diletakkan dalam tanda kurung siku, kata baku OF dan kemudian tipe-komponen. ARRAY[tipe-indeks-1,..,tipe-indeks-n] OF tipe-komponen Array berdimensi satu merupakan array dengan ciri memiliki tipe-indeks hanya sebuah dan tipekomponen tidak berupa array. Pengaksesan terhadap suatu array, dapat dibedakan dalam dua macam operasi, yaitu penyimpanan dan pengambilan elemen array.

Program MengurutkanDataString; uses crt; Type MaksString = string[30]; Var i,j,n : integer; temp : MaksString; data : array[1..20] of MaksString; begin clrscr; write('Jumlah Data : '); readln(n); writeln; writeln('Data Semula : '); writeln; for i:=1 to n do begin write(i:2,'. '); readln(data[i]); end; {proses pengurutan} for i:=1 to n do for j:=1 to n do if data[i] < data[j] then begin temp:=data[i]; data[i]:=data[j]; data[j]:=temp; end; {cetak hasil} writeln; writeln('Data setelah diurutkan : '); writeln; for i:=1 to n do writeln(i:2,'. ',data[i]); readln; end.

15

Array Multidimensi yaitu array yang memiliki lebih dari satu dimensi. Ciri dari tipe array ini, yakni mempunyai tipe- indeks lebih dari satu atau tipe-komponen berupa array yang lain.
Program Baca_dan_Cetak_Matriks; uses crt; var i,j, baris, kolom : integer; x : array[1..10,1..10] of real; begin clrscr; {baca data, data dibaca elemen baris per baris} write('Banyak baris (maks = 10) : '); readln(baris); write('Banyak kolom (maks = 10) : '); readln(kolom); writeln; for i:=1 to baris do begin for j:=1 to kolom do begin write('elemen( ',i,',',j,') = '); readln(x[i,j]); end; writeln; end; {cetak elemen dalam matriks} writeln; writeln('Matriks : '); Writeln; for i:=1 to baris do begin for j:=1 to kolom do write(x[i,j]:8:3); writeln; end; readln; end.

16

Pertemuan 11: Type Data Kompleks (Record) Record merupakan salah satu tipe data terstruktur yang terdiri atas sekumpulan variabel data terstruktur. Tipe data tersebut memungkinkan untuk memanipulasi sekumpulan elemen data dengan tipe yang tidak sama, yang seolah-olah merupakan satu obyek. Variabel data terstruktur penyusun record disebut field (medan).
Program contoh_record; Type Recbarang = RECORD Nama_B : string[10]; Jumlah : Integer; Harga_b : LongInt; End; Var Barang : Recbarang; Begin {Memasukan data ke dalam record barang} Barang.Nama_b := 'Baju koko'; Barang.Jumlah := 10; Barang.Harga_b := 200000; {Menampilkan isi field record} WITH Barang Do begin Writeln('Nama Barang : ',Nama_b); Writeln('Jumlah Barang : ',Jumlah); Writeln('Harga Barang : ',Harga_b); End; readln; End.

Penjelasan :
Untuk menyederhanakan pernyataan seperti DataPeg.TgLahir.Tgl Pascal menyediakan pernyataan WITH, dengan bentuk : WITH nama_record Do <pernyataan> Pada bentuk ini field-field yang terletak pada pernyataan dapat disebutkan tanpa menyertakan lagi nama recordnyadan tanda titik.

17

BAB III -PENUTUPa. Kesimpulan Bahasa Pascal adalah bahasa pemrograman tingkat tinggi yang cukup populer khususnya di Indonesia. Hal ini disebabkan bahasa Pascal lebih mudah dipahami dibandingkan bahasa pemrograman lainnya. Pascal merupakan bahasa yang terstruktur tersusun atas sejumlah blok. Blokblok yang kecil selanjutnya dapat dapat dipakai untuk membuat blok yang lebih besar. Bahasa pascal biasa kita temukan pada program komputer. Tapi bukan hanya untuk program komputer saja tetapi bisa juga untuk menyelesaikan masalah matematika. b. Saran Saran saya selama praktikum yaitu tempat praktikum seharusnya telah dipersiapkan sebelum praktikum dimulai sehingga tidak membuat jadwal praktikum terlambat.

18

You might also like