Saturday, 8 March 2014

program pascal


assalammualaikum wr.wb ... hi guys kami akan membagikan apa yang telah kami pelajari di Universitas Indo Global Mandiri Palembang . khususnya untuk jurusan Teknik informatika, semoga bermanfaat yah.. Aamiin :)
BAB  1
Penggertian Algoritma dan Flowchart


1.1 Algoritma
Arti umum adalah serangkaian urutan  langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1.  Algoritma adalah inti dari ilmu computer.
2.  Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaika Suatu masalah.
3.  Algoritma adalah blueprint dari program.
4.  Sebaiknya disusun sebelum membuat program.
5.  Kriteria suatu algoritma:
·         Ada input dan output
·         Efektifitas dan efisien
·         Terstruktur
Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana Adan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru.
Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B  berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A kedalam  bejana B
2.  Tuangkan larutan dari bejana B kedalam bejana A
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar.Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran ke dua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.


Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B kedalam bejana A.
3. Tuangkan larutan dari bejana C kedalam bejana B.
v  Ciri Penting Algoritma
1. Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2. Setiap langkah harus di definisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3. Algortima memiliki nol atau lebih masukan.
4. Algoritma memiliki nol atau lebih keluaran.
5. Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
v  Memrogram dan BahasaPemrograman:
1.      Belajar memrogram adalah belajar tentang metode pemecahan masalah kemudian menuangkannya dalam suatu notasi tertentu  yang mudah dibaca dan dipahami.
2.      Belajar bahasa pemrograman adalah memaka isuatu bahasa, aturan, tata bahasanya,  instruksi instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahas aitu saja.
v  Notasi Algoritma:
1. Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan computer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan kedalam berbagai bahasa pemrograman.
2. Notasi algoritma dapat berupa:
·         Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma ke lulusan mahasiswa
Diberikan nama dan  nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa  tersenut di nyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca namadannilaimahasiswa
Jikanilai>= 60 maka
Keterangan = lulus
Tetapijikasalah
Keterangan = tidak lulus
Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1. Mendefinisikan masalah dan menganalisanya. Mencangkup :tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2.  Merealisasikan dengan langkah-langkah sebagai berikut:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ2FyeWBp1swvqlZoQCh2XubebwyjK4vvIllDZhA0wqWeuT7mBCVsMzEFoGvty73BTo1XAvjj41ZwGtkOe3ds7w-3mCipKPh-fbhHYIEEN4YHOyxnrHVRYN4151vEm1C0HI72PAn5NGs2E/s400/screenshot1.png
Contoh A lgoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul  surat
·         Masukkan surat kedalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul kekantor pos untuk diposkan



2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil

1.2 Flowchart
1.  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2.  Merupakan cara penyajian dari suatu algoritma
3.  Ada 2 macam flowchart:
·         System flowchart:
Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·         Program flowchart:
Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
Contoh program Flowchart
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRtV2tYcb7o0QPvs1Jn3aTwfX3rgma-XCtM-dxvRvtKKsmq1FGZhhvgQVrF-q-wkyWDYDe5aeHkZkW0-sRt7isjqKvtIg_1iFkT8JmVrNjqdRNBTniJxdUlykjmzZEGBJz2WbM2a3GLxZE/s400/screenshot2.png
Simbol-simbol Flowchart
1.  Flow Direction Symbols (simbolpenghubungalur)
2.  Processing Symbols (simbol proses)
3.  Input-Output Symbols (simbol input-output)
TabelSimbol-simbol Flowchart
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNQ94H-ABQIUDezZsRBblixFqKKZ4n-fJJFqCA1xIWnd2JDe5vNhvrprMg2AWqr_Lbwnfs_GgmClIaZvGm21AZDOYQIoIn4Bwuqp2IaM_pntO1mUvg-9IFC6wTsGSjLYROCFz0gKMa-gvo/s400/screenshot3.png
Pembuatan Flowchart
1.  Tidak ada kaidah yang baku
2.  Flowchart = gambaran hasil analisa suatu masalah
3.  Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya
4.  Secara garis besar ada 3 bagianutama:
·         Input      
·         Proses
·         Output
5.  Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.  Jalannnya proses digambarkan dari atas kebawah dan diberikan tanda panah untuk memperjelas.
7.  Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.


Contoh Flowchart




BAB 2
Pascal danTipe Data

2.1  Pascal

Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada segala tujuan, dirancang oleh Profesor Niklaus Wirth dari Technical University of Zurich, Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan filosofer terkenal abad 17 dari Perancis.

Profesor Niklaus Wirth memperkenalkan compiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan membantu mengajar program computer secarasistematis, khususnya untuk memperkenalkan pemrograman terstruktur.

Dalam waktu singkat, Pascal telah menjadi bahasa yang populer di kalangan pelajar universitas dan merupakan bahasa yang diajarkan di beberapa perguruan tinggi. Beberapa professional computer juga mulai beralih kebahasa Pascal. Kenyataannya,  Pascal merupakan bahasa yang paling cepat populer dibandingkan dengan bahasa-bahasa computer tingkat tinggi yang lainnya.

Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K. Jensen dan Niklaus Wirth. Penerapan nyata dari standar Pascal banyak yang berbeda dengan seperti apa yang telah didefinisikan oleh K. Jensen dan Niklaus Wirth. Standar Pascal di Eropa didefinisiakan oelh ISO (International Standards Organization) dan di Amerika oleh kerja sama antara ANSI (American National Standar Institute) dengan IEEE (Intitute of Electrical and Electronic Engineer).

Beberapa versi dari Pascal yang telah beredar di pasaran, di antaranya UCSD pascal (University of California at San Diego Pascal), MS-Pascal (Microsoft Pascal), Apple Pascal, Turbo Pascal dan lain sebagainya. Sampai saat ini untuk komputer-komputer mikrodan personal, Turbo Pascal merupakan versi bahasa Pascal yang paling popular dan banyak digunakan.

Kompiler Turbo Pascal banyak digemari, karena terutama bersifat interaktif, seperti interpreter saja layaknya. Selain itu Turbo Pascal mengikuti definisi dari standar Pascal seperti yang didefinisikan oleh K. Jensen dan Niklaus Wirth di Pascal User Manual dan Report.Turbo PASCAL adalah copyright dari Borland Inc. dan dapat digunakan pada system operasi PC-DOS, MS-DOS, CPM-86 dan CP/M-80.

v  PROGRAM PASCAL

STRUKTUR PROGRAM

1.      Judul program (opsional)
Format : { judul program } atau program_nama program;

2.      Deklarasi program:
Var {Variabel program}
Const {Constanta program}
Label {Label}
Funct {Function}
Procedure {Prosedur program}
Catatan :
Deklarasi program bersifat opsional khusus, artinya jika diperlukan maka harus ada dalam program dan apabila tidak diperlukan maka boleh tidak dicantumkan.
Deklarasi program termasuk identifier (pengenal), yaitu kata-kata yang diciptakan oleh
pemrogram untuk mengidentifikasi sesuatu.
Syarat identifier:
a)      Harus diawali oleh alphabet
b)      Huruf besar/ kecil yang digunakan dianggap sama
c)      Penyusun dari sebuah identifier tidak boleh berupa: tanda baca, tanda relasi,
d)      symbol arithmatik, karakter khusus atau reserved word
e)      Tidak boleh dipisahkan dengan spasi, apabila hendak dipisahkan maka
menggunakan tanda ( _ )
f)       Panjang identifier tidak dibatasi tetapi sebaiknya gunakan se-efektif mungkin.

3. Program Utama
Diawali dengan Begin dan diakhiri dengan End.


2.2  TIPE- TIPE DATA DALAM TURBO PASCAL

Tipe data berfungsi membatasi jangkauan data yang akan dilaksanakan.
Macam-macam tipe data:
a)      Tipe data Standard, terdiri atas :
-          Ordinal
-          Non-ordina
b)      Tipe data Terstruktur
c)      Tipe data Pointer

a)      Tipe Data Standard
1. Tipe Ordinal
Pada tipe data ini akan berlaku operasi-operasi:
·         Predesessor (Pred), berfungsi memberikan nilai kembalian berupa nilai predesessor (urutan sebelumnya) dari suatu nilai ordinal.
·         Successor (Succ), berfungsi memberikan nilai successor (urutan berikutnya) dari suatu nilai ordinal.

Ø  Tipe Integer
Operator-operator yang berlaku pada tipe data integer, yaitu :
·         Operator arithmatik : +, - , *, /, div, mod
·         Operator logic : <, = , > , <= , >= , <>
Tipe data integer masih dibagi menjadi 5 tipe:
ü  Byte (1 byte tak bertanda)
ü  Shortint (1 byte bertanda)
ü  Word (2 byte tak bertanda)
ü  Integer (2 byte bertanda)
ü  Longint (4 bytebertanda)
Catatan : Semua tipe integer adalah tipe Ordinal.

Ø  Tipe Real
Dibagi menjadi 5 macam, yaitu :
Real (6 byte) Extended (10 byte)
Single (4 byte) Comp (8 byte)
Double (8 byte)






Ø  Tipe Char (Karakter)
Char adalah semua tombol yang terdapat pada keyboard atau lebih lengkapnya semua
karakter yang terdapat pada kode ASCII.

Catatan : Apabila char ingin dijadikan sebagai konstanta maka karakter yang dimasukkan
harus diapit dengan tanda kutipsatu. Dan apabila karakter itu berupa tanda kutip
satu maka harus diapit dengan dua tanda kutip satu.

Ø  Tipe Boolean
Mempunyai nilai benar /salah. Operator yang penghubung untuk tipe Boolean adalah : = ,
<> , > , < , >= , <= , IN
Boolean akan menghasilkan False jika nilai = 0 dan akan menghasilkan True jika nilai =1.

Ø  Tipe Enumerated (terbilang)
Bentuk umum :
Type
Nama = (Pengenal 1, pengenal 2,…, pengenal n);
Contoh:
Type
Jawa Tengah = ( Semarang, Tegal, Kendal, Demak) ;
Sehingga dengan fungsi berikut :
Ord(Semarang) = 0
Ord(Tegal) = 1
Dan seterusnya…………………..

Ø  Tipe Subrange
Bentuk umum :
Constanta1..Constanta2
Contoh :
0..99 ;
-128..127 ;

BAB 3
Fungsi IF,CASE dan Pengulangan Proses
3.1 Fungsi IF
Ø  Struktur IF
Merupakan struktur kontrol di mana suatu aksi dilaksanakan berdasarkan kondisi
logikanya (benar atau salah). Bentuk umum :
if (kondisi) then aksi ;
{Jika kondisi benar maka aksi akan dilaksanakan dan sebaliknya }
if (kondisi) then aksi1 else aksi2 ;
{Jika kodisi benar maka aksi1 diaksanakan, jika kondisi salah
maka aksi2 akan dilaksanakan}
if (kondisi1) then aksi1 else
if (kondisi2) then aksi2 else
……………………..
if (kondisi-n) then aksi-n ;
{Jika kondisi1 benar maka aksi1 dilaksanakan tanpa membaca
kondisi2 dan seterusnya. Jika kondisi1 salah maka aksi2 dilaksanakan
tanpa membaca aksi3 dan selanjutnya. Demikian
seterusnya}
if (kondisi1) then aksi1 ;
if (kondisi2) then aksi2 ;
……………………….
if (kondisi-n) then aksi-n ;
{Masing-masing kondisi akan dibaca dan aksi akan tetap dilaksakan.
Jadi masing-masing struktur terpisah satu dengan yang lain}
Contoh program :
{ program_menghitung_akar_kwadrat}
uses crt;
var A,B,C:integer;
x1,x2,D:real;
begin
clrscr;
write('Baca koofisien:');readln(A,B,C);writeln;
writeln(A,'x*x + (',B,') x +',C);
if A=0 then writeln('Bukan persamaan kwadrat') else
begin
D:=(B*B) - (4*A*C);
16
writeln('Determinannya :',D:2:2);readln;
if D>0 then
begin
writeln('Persamaan kwadrat mempunyai 2 akar yang berbeda');
x1:= (-B + sqrt(D))/(2*A);
x2:= (-B - sqrt(D))/(2*A);
writeln('Akar-akarnya adalah:',x1:2:2,'dan',x2:2:2);
end else
if D=0 then
begin
writeln('Persamaan kwadrat mempunyai akar yang sama'
x1:= -B/(2*A);
x2:= -B/(2*A);
writeln('Akar-akanya adalah:',x1:2:2);
end else
writeln('Tidak memiliki akar riil');
end;
readln;
end.

Hasil Run Program :
-Baca koofisien: 1 -4 4
1x*x + (-4) x +4
Determinannya :0.00
Persamaan kwadrat mempunyai akar yang sama
Akar-akanya adalah:2.00
-Baca koofisien: 1 -5 6
1x*x + (-5) x +6
Determinannya :1.00
Persamaan kwadrat mempunyai 2 akar yang berbeda
Akar-akarnya adalah:3.00dan2.00
-Baca koofisien: 1 3 4
1x*x + (3) x +4
Determinannya :-7.00
Tidak memiliki akar ril
3.2 CASE
Merupakan perluasan dari struktur if. Karena kalau dalam struktur if hanya disediakan dua pilihan (berdasarkan kondisi logikanya) maka dalam struktur case..of dimungkinkan untuk memilih satu pilihan diantara banyak pilihan yang ada . bentuk umumnya :
Case  var. pilih of                    atau     case var. pilih of
            Pilih 1 : aksi 1;                                                Pilih 1 : aksi 1;
            Pilih 2 : aksi 2;                                                Pilih 2 : aksi 2;           
            ……………..;                                      ……………..;
            Pilih n : aksi n;                                                Pilih n : aksi n; else aksi-n+1
End;                                                    end;
Catatan : ekspresi yang digunakan dalam statemen case adalah yang mempunyai tipe ordinal yaitu dengan batas antara (-32768 s/d 32767). Sehingga tipe lain seperti integer yang bertipe longint , tipe string atau word tidak boleh digunakan.
Contoh program:
{program_konversi_nilai2}
Uses crt;
Var
Nilai : integer;
Begin
Clrscr;
            Write(‘baca nilai = ‘); readln(nilai);
            Case nilai of
            0..25  : writeln(‘nilainya = E’);
            26..39 : writeln(‘nilainya = D’);
            40..64 : writeln(‘nilainya = C’);
            65..79 : writeln(‘nilainya = B’);
            80..100: writeln(‘nilainya = A’);
Else
Writeln(‘tidak ada nilai yang dimaksud’);
End;
Readln;
End.
Tampilan outputnya;


3.3 Pengulangan Proses
Turbo Pascal menyediakan 3 macam pernyataan :
a.      FOR
b.      WHILE
c.       REPEAT

a.      Pernyataan FOR
Mengulang suatu proses merupakan tindakan yang banyak di jumpai dalam pemrograman . Pada semua bahasa pemrograman, pengulangan proses di tangani dengan suatu mekanisme yang disebut Loop. Dengan menggunakan Loop, suatu proses yang berulang misalnya menampilkan tulisan yang sama seratus kali pada layar dapat diimplementasikan dengan kode program yang pendek.
Pernyataan pertamayang digunakan untuk keperluan pengulangan proses adalah pernyataan for. Bentuk pernyataan ini;
·         FOR TO
FOR Variabel :=  Nilai_awal TO Nilai_akhir DO
Pernyataan;

Variabel :=  Nilai_awal
 
Diagram Alir
 


                                                            ya

Variabel := Variabel+1

 
Pernyataan
 
                                            tidak                    
                                                                                       Akhir FOR
                                                                                   

·         FOR DOWNTO
FOR Variabel :=  Nilai_awal TO Nilai_akhir DO
Pernyataan;

Diagram alirnya / pernyataanya juga sama sepeti for to.



Contoh dalam bentuk pascalnya:
Untuk menampilkan nilangan ganjil dari 1 sampai 20;
Pada saat menginput;
Uses crt;
Var
Bil : integer;
Begin
Clrscr;
For bil := 1 to 20 do
If odd (bil) then
Writeln(bil);
Readln;
End.

Pada saat output nya;









b.      Pernyataan While
Pada pernyataan while,pengecekan terhadap loop di lakukan di bagian awal (sebelum tubuh loop) . lebih jelasnya, bentuk pernyataan while adalah sebagai berikut;
While (kondisi)
pernyataan

Dengan pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Proses pengulangan terhadap pernyataan di jelaskan pada gambar berikut;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Pernyataan

 
Flowchart: Decision: kondisisalah

                        benar




keluar loop
Gambar diagram alir while
Dengan melihat gambar, tampak bahwa ada kemungkinan pernyataan yang merupakan tubuh loop tidak di jalankan sama sekali , yaitu hasil pengujian kondisi while yang pertama kaliternyata bernilai salah.
Contoh pemakaian while;
Uses crt;
Var
Pencacah : integer;
Begin
Clrscr;
Pencacah := 1;
While pencacah <= 10 do
Begin
Writeln(pencacah);
Pencacah := pencacah + 1;
End;
Readln;
End.

Tampilan outputnya;
·         do-while
Bentuk pernyataan do-while;
Do
    Pernyataan;
while (kondisi)
Pada pernyataan do-while, tubuh loop berupa pernyataan, dengan pernyataan bisa berupa pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Pada pernyataan do mula-mula pernyataan dijalankan . selanjutnya kondisi di uji. Seandainya kondisi bernilai benar, maka pernyataan dijalankan lagi  , kemudian kondisi diperiksa kkembali , dan seterusnya. Kalau kondisi bernilai salah pada saat tes, maka pernyataan tidak di jalankan lagi. Untuk lebih jelasnya lihat pada gambar. Berdasarkan gambar terlihat bahwa tubuh loop minimal akan dijalankan sekali.
 

                                                                                           Tubuh loop

                                                 benar

                                                                                       
            salah
keluar loop
program berikut memberikan contoh pemakaiando-while untuk mengatur penampilan angka sebanyak 6 kali;
uses crt;
var
I,j : integer;
Begin
Clrscr;
I:= 1;
While I <= 6 do begin
J:= 1;
While j <=1 do begin
            Write(i*j, ‘ ‘);
            Inc(j);
End;
Inc(i);
Writeln;
End;
Readln;
End.

Tampilan outputnya;



c.       pernyataan Repeat..Until
Repeat..Until adalah Pengulangan berdasarkan kondisi berhenti. Struktur ini hamper sama dengan struktur while dan biasanya digunakan bila jumlah pengulangan belum dapat ditentukan saat program di tulis.
Bebtuk Umum :
Repeat
            Aksi1
            Aksi2
            …….
            Aksin
Until (kondisi Berhenti)
Catatan :
·         Kondisi berhenti nnerupa ekspresi boolen yang dapat menghasilkan nilai True atau False
·         Aksi pad badan pengulangan akan dikerjakan sampai kondisi berhenti bernilai True
·         Badan pengulangan (aksi) pada struktur ini minimal dikerjakan satu kali karena pada waktu eksekusi pengulangan yang pertama tidak dilakukan test terhadap kondisi berhenti. Test terhadap kondisi berhenti dilakukan setelah aksi dikerjakan.
Contoh :
Pada saat input
Uses crt;
Var
A,b : integer;
Begin
Clrscr;
A:= 1;
Repeat;
B:= 1;
Repeat
Write(a*b,’ ‘);
Inc(b);
Until b>a;
Inc(a);
Writeln;
Until a>10;
Readln;
End.

Tampilan Outputnya;
BAB 4
Operasi Matematika , Prosedur dan Array
4.1 Operasi Matematika
Operasi matematika dalam pascal sering dijadikan alternatif yang paling efektif dalam menghasilkan sebuah laporan yang detail karena dapat meminimalkan penggunaan memori serta  mempermudah penyusunan koding program. Berikut ini saya akan berbagi bagaimana penerapan operasi matematika tersebut dalam pascal.
Operasi matematika dalam mysql biasanya diterapkan dengan menggunakan operator aritmatika berikut ini :
Operator
Keterangan
+
Penjumlahan
-
Pengurangan
*
Perkalian
/
Pembagian
% atau mod
Sisa Hasil Bagi
div
Pembagian integer
Misal kita punya tabel penjualan yang terdiri dari nomor, jumlah, dan harga. Kemudian kita ingin membuat laporan yang lebih lengkap dengan menambahkan kolom sub total yang dihasilkan dari perkalian jumlah dan harga, maka query yang bisa anda gunakan adalah :
select nomor, jumlah, harga, jumlah * harga as subtotal from tb_penjualan
Anda juga bisa terapkan operasi matematika sebagai kondisi/filter data sehingga laporan yang dihasilkan berdasarkan kondisi tersebut, contohnya :
select nomor, jumlah, harga from tb_penjualan where jumlah * harga > 100000
Contoh operasi lain, misal anda ingin mendapatkan rata-rata dari nilai mahasiswa yang terdiri dari nilai tugas, nilai uts, nilai uas, maka anda bisa gunakan query seperti berikut :
select nilaitugas,nilaiuts,nilaiuas, (nilaitugas + nilaiuts + nilaiuas) /3 as rata2 from tb_nilai
Dengan adanya operasi matematika yang disipkan dalam query maka anda tidak perlu lagi melakukan perhitungan melalui script program, selain itu juga meminimalkan penggunaan memori karena anda tidak perlu menambahkan field untuk menyimpan hasil perhitungan masing-masing field yang ada.


Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi. Sebagaian operator C++ tergolong sebagai operator binary, yaitu operator yang dikenakan terhadap dua buah nilai (operand).
Contoh :
a + b
simbol “ + “ merupakan operand untuk melakukan penjumlahan dari a dan b. Karena operator penjumlahan melibatkan dua operand, operator penjumlahan tergolong sebagai operator binary.
Contoh lain :
-c
simbol “ – “ (minus) merupakan unary, karena hanya memiliki sebauh operand (yaitu c pada contoh diatas).

·        Operator Aritmatika

Operator Aritmatika adalah operator yang digunakan untuk melakukan perhitungan matematika. Asumsikan variabel a bernilai 30 dan variabel b bernilai 10,lalu perhatikan tabel berikut:
Operator
Keterangan
Contoh
+
Penjumlahan
a+b hasilnya 40
-
Pengurangaan
a-b hasilnya 20
*
Perkalian
a*b hasilnya 300
/
Pembagian
a/b hasilnya 3
%
Sisa Pembagian
a%b hasilnya 0



4.2 Prosedur
Sering sekali dalam membuat program besar , pemrogrraman perlu memecah program menjadi beberapa subprogram yang lebih kecil. Tiap subprogram (modul) dapat dirancangg selain orang yang mengembanggkan program utama. Modal yang sudah dirancang dapat dipasang kedalam program lain yang membutuhkan Teknik pemrograman modular(prosedur,routine,fungsi)
Membuat Prosedur
Format
PROCEDURE nama(daftar_parameter);
Bagian Deklarasi;
Bagian Pernyataan;
 Contoh:
Tampilan inputnya;
PROGRAM PROSES1;
{-----------------------------------------}
{contoh sederhana suatu prosedur}
{-----------------------------------------}
Uses crt;
Procedure info;
Begin
Clrscr;
Writeln(‘*-------------------------------------------*’);
Writeln(‘*contoh procedure buatan -----------*’);
Writeln(‘*dibuat oleh : Muhammad rizha ----*’);
Writeln(‘*-------------------------------------------*’);
End;     {----akhir procedure buatan----}
Begin   {--------program utama----------}
Info; writeln(‘selesai’);
Readln
End.
Tampilan Outputnya;
PROGRAM PROSES2;
{--------------------------------------------------}
{contoh pelewatan tidak secara referensi }
{--------------------------------------------------}
Uses crt;
Var
Amin, wati : integer;
Procedure Tukar(Amin : integer; Wati: integer);
Var
     Tmp: integer;
Begin
     Tmp:= Amin;
     Amin:= Wati;
     Wati:= Tmp;
Writeln(‘Pada Tukar; ’);
Writeln(‘Amin =  ‘, Amin);
Writeln(‘Wati = ‘, Wati);
End;
Begin
Clrscr;
     Amin := ‘lakilaki’;
     Wati := ‘perempuan’;
Writeln(‘sebelum Tukar : ‘);
Writeln(‘Amin = ‘, Amin);
Writeln(‘Wati = ‘, Wati);
Tukar(Amin,Wati);
Writeln;
Writeln(‘sesudah Tukar: ‘);
Writeln(‘Amin= ‘, Amin)
Writeln(‘Wati= ‘, Wati);
Readln;
End.
Tampilan Outputnya;
4.3 Array
Array merupakan salah satu tipe data terstruktur (structured data type) yang berguna sebagai sebuah tempat penyimpanan elemen data/nilai yang bertipe sama. Penggunaanya sama seperti variable (untuk menyimpan nilai) tetapi variable hanya dapat menyimpan sebuah nilai ,sedangkan pada array data yang diolah bisa berupa nilai bertipe sama.
Struktur data array dipakai untuk merepresentasikan sekumpulan informasi yang bertipe sama dan di simpan dengan urutan yang sesuai dengan defenisi indeks secara kontigu dalam memori computer. Oleh karena itu indeks harus suatu tipe data yang mempunyai keterurutan seperti tipe integer atau karakter.

Bentuk array sama seperti tabel, sehingga array seringkali juga disebut Tabel. Misalnya table untuk menyimpan data nilai 100 buah.
               TabNilai
Index   nilai           
   1       60
   2       70
   3      100
   4       80
   5       65
 
 100     89
Sebuah array harus di beri nama, supaya mudah di akses atau dipicu. Setiap elemen /bagian array harus diberi alamat supaya dapat dibedakan dengan elemen lainya dan mudah dalam pencarian. Indeks digunakan sebagai alamat elemen pada array.

Deklarasi array
Supaya sebuah array dapat diisi, arraynya harus dibuat dulu atau dipesan tempatnya (berapa banyak data yang akan dimasukan ke dalam array) dengan cara dideklarasikan di bagian kamus. Jumlah elemen array tidak dapat diubah selama pelaksanaan program.

Contoh:
Tampilan input;
Uses crt;
Var
            Tabel : array[1..3,1..3] of byte;
            A,b : byte;
Begin
            Tabel[1,1] := 5;
            Tabel[1,2] := 6;
            Tabel[1,3] := 7;
            Tabel[2,1] := 8;
            Tabel[2,2] := 9;
            Tabel[2,3] := 10;
            Tabel[3,1] := 15;
            Tabel[3,2] := 11;
            Tabel[3,3] := 16;
            For a := 1 to 3 do
Begin
For b:= 1 to 3 do
Write(Tabel[a,b] : 10);
Writeln;
End;
Readln;
End.

Tampilan Output nya;


BAB 5
Study Kasus dan Kesimpulan

5.1 Study Kasus



1.      Perhatikan algoritma dibawah ini .

 function tesbilangan (bil: integer)integer;
Kamus :
bil1,bil2:integer
Algoritma
bil1 bil mod 2
bil2 bil1 + bil mod 4 * 2
if bil1=0 then
bil1 bil2 mod bil
else
if bil2 < 3 then
bil1 bil + bil2 div bil
bil
Apabila dilakukan pemanggilan fungsi sebagai berikut  Xtestbilangan(n), dengan n bernilai 2 , maka X  akan bernilai:
A.    0          B. 1     C.2      D.3      E.4

Jawab : C.2
Pembahasan;
Nilai X diperoleh dari variabel bil. Pada bagian Algoritma, tidak ada statemen untuk mengubah/ mengganti nilai bil yang baru. Berarti nilai bil tidak mngalami perubahan, yaitu 2. Sehingga nilai X=2


2.      Berikut merupakan properti dari sebuah fungsi yang TIDAK harus ada …

A. nama function
B. type hasil
C. pengiriman harga/nilai yang dihasilkan
D. parameter input
E. Semua properti di atas harus ada pada sebuah fungsi.
Jawab : D. parameter input
Pembahasan :
Pada sebuah fungsi, parameter input boleh tidak ada dalam hal ini fungsi tidak membutuhkan input apa-apa dari pemakainya untuk menghasilkan suatu harga.
                                          
3.      Dibawah ini merupakan penulisan fungsi yang benar, adalah ...
A.Function cobalagi (i,j : integer) integer
Kamus
Algoritma
Cobalagi i + j
B.Function cobalagi (i,j : integer) integer
Kamus
X : integer
Algoritma
i + j
C. Function cobalagi (input i,j : integer output x : integer)
Kamus
Algoritma
i + j
D. Function cobalagi (i,j : integer) integer
Kamus
Algoritma
i + j
E. Function cobalagi (i,j : integer) integer
Kamus
Algoritma
i + j
Jawab : B.
Pembahasan :
Dalam sebuah fungsi akan terdiri dari nama fungsi, parameter formal dan tipe hasil. Pada fungsi juga harus terdapat pengembalian nilai fungsi. Jawaban yang tepat sesuai format fungsi pada algoritma adalah B.

Contoh:
4.      Berdasarkan penulisan fungsi yang benar pada soal no 3, maka untuk mengambil nilai dari sebuah fungsi, dapat dilakukan dengan perintah sebagai berikut :
A. a → cobalagi (a,a)               D. cobalagi (2,5) ← a
B. cobalagi (a,b)                      E. cobalagi (2,5) → a
C. a ← cobalagi (2,a)

Jawab : C. a ← cobalagi (2,a)
Pembahasan :
Untuk mengambil nilai fungsi, diperlukan variabel untuk menyimpan nilai fungsi tersebut. Sesuai format pemanggilan fungsi pada algoritma, maka yang benar adalah pilihan C. Variabel untuk menyimpan nilai fungsi diletakkan di sebelah kiri tanda panah yang artinya variabel tersebut akan diberi nilai sesuai nilai hasil fungsi.




5.      Di bawah ini merupakan penulisan fungsi yang benar pada notasi algoritmik atau Pascal :
A. Function cobalagi (i,j : integer) : integer;
Var i,j : integer;
Begin
Cobalagi := i + j;
End;
B. Function cobalagi (i,j : integer) integer
Kamus
X : integer
Algoritma
X i + j
C. Function cobalagi (input i,j : integer, output x : integer)
Kamus
Algoritma
X i + j
D. Function cobalagi (i,j : integer) : integer
Kamus
Algoritma
i + j
E. Function cobalagi (i,j : integer) : integer;
Begin
   Cobalagi := i + j;
   End;
Jawab : E.
Pembahasan :
Untuk mendeklarasikan fungsi pada notasi Pascal, maka fungsi terdiri dari nama fungsi, parameter formal, dan tipe hasil. Pengembalian nilai fungsi juga harus ada. Dalam hal ini, pengembalian nama fungsi menggunakan nama dari fungsi tersebut sebagai variabel yang menyimpan hasil/ harga fungsi. Jawaban yang benar adalah E.

6.      Diketahui Program Pascal dengan fungsi F1 dengan parameter A dan B (keduanya integer) dan hasilnya bertipe real, dan fungsi F2 dengan parameter A dan B (keduanya real) dan hasilnya bertipe integer. Program utama memiliki variabel X (integer) dan Y (real). Pernyataan yang salah mengenai pemanggilan fungsi-fungsi tersebut :
A. X := F2(2.5, B);                               D. Write(F2(2.5,F1(X,X)));
B. Y:= F2(F1(10,X),Y);                       E. Writeln(F1(F2(Y,Y),Y));
C. X := F1(F2(2.5, F1(1,2)));

Jawab : A. X := F2(2.5, B);
Pembahasan :
Fungsi F1 memiliki parameter A(integer) dan B(integer), hasilnya bertipe real. Fungsi F2 memiliki parameter A (real) dan B (real), hasilnya bertipe integer. Program utama memiliki variabel X ( integer) dan Y (real), maka :
·         Untuk pilihan A salah karena pemanggilan fungsi F2 menggunakan A=2.5, padahal A harus bertipe integer.
·         Untuk pilihan B benar karena F1(10,X) yang merupakan parameter A bagi fungsi F2 bertipe real.
·         Untuk pilihan C benar karena F1 (1,2) bertipe real; F2 (2.5, F1(1,2)) bertipe integer; karena F1 membutuhkan parameter integer, maka pilihan C benar.
·         Untuk pilihan D , F1(X,X) bertipe real, F2 (2.5, F1(X,X)) cocok dengan ketentuan bahwa parameter formalnya keduanya harus real.
·         Untuk pilihan E benar. Karena masing-masing parameter memiliki tipe sesuai ketentuan awal.

7.      Terdapat sebuah fungsi yang akan menghasilkan nilai Boolean jika parameter pertama lebih besar dari parameter kedua. Kedua parameter bertipe real. Algoritma yang paling tepat untuk fungsi tersebut adalah…
A. output (nilai>jumlah)                           D. (nilai>jumlah)
B. output (nilai>jumlah)                                E. output (nilai>jumlah)
C. (nilai>jumlah)

Jawab : D. (nilai>jumlah)
Pembahasan :
Fungsi akan menghasilkan nilai Boolean, maka operator yang digunakan merupakan operator Boolean. Selain itu fungsi membutuhkan pengembalian nilai. Maka sesuai algoritma, yang paling tepat adalah D. Tanda panah kearah kanan menunjukkan pengembalian nilai pada fungsi.

8.      Perhatikan program berikut ini :
Program MenghitungRata2
{Program untuk menampilkan hasil perhitungan rata-rata}

Kamus :
Angka1, Angka2,Angka3 : Integer
Contstant Pembagi : Integer = 3
Function Rata2(Nilai1,Nilai2,Nilai3,JmlNilai:integer) real

Algoritma :
input(Rata2(Angka1,Angka2,Angka3,Pembagi))
output(Rata2(Angka1,Angka2,Angka3,Pembagi))
Berdasarkan program untuk menghitung rata-rata di atas, bagian mana yang salah sesuai tujuan program di atas :
A. Integer = 3
Keterangan : seharusnya Integer 3
B. Function Rata2(Nilai1,Nilai2,Nilai3,JmlNilai:integer) real
Keterangan : seharusnya
function Rata2(input : Nilai1,Nilai2,Nilai3,JmlNilai:integer) real
C. input(Rata2(Angka1,Angka2,Angka3,Pembagi))
Keterangan : yang ada di dalam kurung tidak boleh diisi pemanggilan fungsi
D. output(Rata2(Angka1,Angka2,Angka3,Pembagi))
Keterangan : yang ada di dalam kurung tidak boleh diisi pemanggilan fungsi kecuali yang dipanggil prosedur
E. C dan D salah  

Jawab : C.
Pembahasan :
Pada perintah input(Rata2(Angka1,Angka2,Angka3,Pembagi)), seharusnya yang berada di dalam kurung adalah nama variabel, dimana perintah input menerangkan permintaan pengisian nama variabel dari user yang kemudian akan diisikan ke dalam variabel yang ada di dalam tanda kurung. Dalam hal ini, isi dari tanda kurung tidak boleh pemanggilan fungsi.


9.      Telusuri program di bawah ini :
VAR
A: integer;
Function X (D : integer, P: integer): integer;
VAR
A : integer ; B : integer;
BEGIN
B := 1
For A := 1 to P do
B := B * D;
X:=B;
END;
Procedure Y (I: integer, J: integer, var K: integer);
BEGIN
K:= X(I,J) * X(J,I);
END;
BEGIN
Y(5,3,A);
Write (‘A = ’,A);
END.

Keluaran dari program di atas adalah:
A. A = 25243
B. K = 30537
C. A = 30375
D. K = 12545
E Program error

Jawab : C. A = 30375
Pembahasan :
Y(5,3,A) akan memanggil prosedur Y. Kemudian dalam pengerjaannya akan memanggil fungsi X, yaitu A = X(5,3) × X(3,5). Berdasarkan pemanggilan fungsi X(5,3), dilakukan 3 iterasi berdasarkan isi fungsi, yaitu :
·         Iterasi 1 : B=5
·         Iterasi 2 : B=25
·         Iterasi 3 : B=125

X(3,5) , dilakukan 5 iterasi berdasarkan isi fungsi, yaitu :
·         Iterasi 1 : B=3
·         Iterasi 2 : B=9
·         Iterasi 3 : B=27
·         Iterasi 4 : B=81
·         Iterasi 5 : B=243
Sehingga, A=125 x 243 = 30375

10.  Terdapat sebuah fungsi yang akan menghasilkan nilai konversi sebuah mata uang menjadi mata uang negara lainnya. Header fungsi sebagai berikut :
function KonversiUang(jumlah,kurs:real)real
     
      Algoritma yang paling tepat untuk function KonversiUang tersebut adalah…
A. output jumlah/kurs
B. output jumlah/kurs
C.jumlah/kurs
D. jumlah/kurs
E. output jumlah/kurs

Jawab : D. jumlah/kurs
Pembahasan :
Dari header dapat diketahui bahwa variabel jumlah dan kurs harus bertipe real dan hasil dari fungsi harus bertipe real juga. Untuk mengkonversi mata uang, maka dilakukan operasi jumlah/kurs. Pada fungsi, harus dilakukan pengembalian nilai fungsi, dengan menggunakan tanda panah ke arah kanan, dan tidak diperlukan perintah output untuk pengembalian nilai. Yang benar adalah jawaban D.

5.2 Kesimpulan

Pengetahuan dasar tentang bahasa pemrograman adalah mengerti dan memahami strktur bahasa pemrograman pascal. Untuk menjadikan sebagai seorang programmer, dan juga mengerti dan mengetahui elemen elemen atau dasar dasar bahasa pascal, baik Variabel atau Type Data, sehingga tidak salah dalam membuat /mengolah sebuah program.
Untuk itu keberhasilan pembelajaran dalam menggunakan bahasa pemrograman pascal adalah merupakan suatu bekal pengetahuan umum tentang tata cara menjadi seorang programmer .

Demikian laporan yang kami buat,semoga bisa memberikan motivasi pada mahasiswa khususnya Universitas Indo Global Mandiri jurusan Teknik Informatika agar menjadi seorang programmer yang terkenal . Aamiin…