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:
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
Simbol-simbol
Flowchart
1.
Flow Direction Symbols (simbolpenghubungalur)
2.
Processing Symbols (simbol proses)
3. Input-Output Symbols
(simbol input-output)
TabelSimbol-simbol Flowchart
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;
|
|
![]() |
|
|
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;
|

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 X
testbilangan(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…




No comments:
Post a Comment