MAKALAH
ALGORITMA
& PEMEROGRAMAN
Disusun
Oleh :
Syamsul Alam
201652016
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BINA BANGSA KENDARI
2019
Alhamdulillah, puji syukur penulis
haturkan kehadirat Allah SWT. Atas rahmat-Nya lah Penulis dapat menyelesaikan
makalah ini tepat pada waktunya. Tak lupa Penulis juga menghaturkan terima
kasih yang sebesar-besarnya kepada semua pihak yang telah mendukung dan
membantu Penulis dalam menyelesaikan makalah ini.
Dalam makalah
yang berjudul ALGORITMA DAN PEMROGRAMAN ini, akan dibahas mengenai pengertian
Algoritma dan Pemrograman, sejarah Algoritma itu sendiri, kemudian dasar-dasar
pemrograman yang menjelaskan tentang variabel, tipe data, dan operatoryang
terdapat dalam bahasa pemrograman. Selain itu, untuk mempermudahpemahaman juga
sebagai bahan latihan, Penulis juga menyertakan contohprogram yang dapat
dipraktekkan oleh para pembaca.
Namun
demikian, Penulis merasa masih banyak sekali kekurangan dalampenyusunan makalah
ini, sesuai dengan pepatah yang mengatakan bahwa tak adagading yang tak retak.
Oleh karena itu, segala saran dan kritik yang membangundari yang lebih
berkompeten di bidang Algoritma dan Pemrograman, penulis terima denganpenuh
rasa terima kasih.
Akhir
kata, Penulis berharap makalah ini dapat bermanfaat bagi parapembaca, khususnya
bagi yang akan mempelajari Algoritma dan Pemrograman.
Penulis
Kendari,01,02,2019
BAB I
PENDAHULUAN
1.1 Latar Belakang
Algoritma
dan pemograman adalah jantung dari pembelajaran teknik informatika. Secara
sederhana Algoritma dan pemograman merupakan urutan langkah-langkah
penyelesaian suatu masalah yang tersusun secara sistematis.
Dimasa sekarang dibutuhkan program-program yang handal untuk memenhui kebutuhan
manusia yang semakin besar akan kemajuan teknologi.Hal ini sangat penting untuk
dipelajari oleh seorang sarjana teknik bukan hanya sekedar dipelajari materi
ini juga harus dikuasai oleh sarjana teknik informatika secara menyeluruh.
Algoritma dan pemograman merupakan materi perkuliahan teknik informatia yang
menuntut kita untuk berpikir kritis dalam menyelesaikan masalah-masalah yang
terjadi dealam komputer secara cepat dan tepat.
Penulisan makalah ini dilatar belakangi oleh tugas yang diberikan kepada
penulis dan juga untuk menambah pengetahuan penulis dan para pembaca nya
tentang materi yang penulis sampaikan dalam makalah ini.
1.2 TUJUAN PEMBUATAN
MAKALAH
Adapun
tujuan yang penulis ingin kamu capai dari penulisan makalah ini ialah:
Memenuhi tugas yang
diberikan dosen dalam mata kuliah Algoritma dan Pemograman.
Menambah pengetahuan
para pembaca mengenai Algoritma dan Pemograman khususya dalam materi struktur dasar
algoritma, notasi algoritma, struktur algoritma, tipe data, operator dan
ekspresi yang penulis bahas dalam makalah kali ini.
1.
Apa saja struktur-struktur dasar
algoritma?
2.
Apa yang dimaksud dengan runtunan?
3.
Apa yang dimaksud dengan penyeleksian?
4.
Apa yang dimaksud dengan pengulangan?
BAB II
PEMBAHASAN
Ditinjau
dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh.
Oranghanya menemukan kata Algorism yang
berarti proses menghitung dengan angka arab. Andadikatakan Algorist jika anda menghitung menggunakan Angka
Arab. Para ahli bahasaberusaha menemukan asal kata ini namun hasilnya kurang
memuaskan. Akhirnya para ahlisejarah matematika menemukan asal kata tersebut
yang berasal dari nama penulis bukuarab yang terkenal yaitu Abu Ja’far Muhammad
Ibnu Musa Al-Khuwarizmi.
Al-Khuwarizmi dibaca orang barat
menjadi Algorism. Al-Khuwarizmi menulis buku
yangberjudul Kitab Al Jabar Wal-Muqabala yang
artinya “Buku pemugaran dan pengurangan”(The book of restoration and
reduction). Dari judul buku itu kita juga memperoleh akarkata
“Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul
karenakata Algorism sering dikelirukan
dengan Arithmetic, sehingga akhiran –sm berubah menjadi–thm. Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambatlaun
kata Algorithm berangsur-angsur dipakai sebagai metode
perhitungan (komputasi)secara umum, sehingga kehilangan makna kata aslinya.
Dalam Bahasa Indonesia, kataAlgorithm diserap
menjadi Algoritma.
Bahasa Pemrograman merupakan notasi yang dipergunakan untuk
mendeskripsikan proses komputasi dalam format yang dapat dibaca
oleh komputer dan manusia. Proses komputasi umumnya didefinisikan secara formal
menggunakan konsep matematika dari Mesin Turing. Pada
dasarnya bahasa Pemrograman dirancang untuk memfasilitasi komunikasi antara
manusia dengan komputer.
Sebuah bahasa pemrograman
disebut Turing Complete jika dapat dipergunakan untuk
mendeskripsikan semua komputasi yang dapat dilakukan Mesin Turing, yaitu
memiliki variableinteger dan operator aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan seleksi, dan pernyataan iterasi.
Ditinjau
dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh.
Orang hanya menemukan kata algorism yang berarti proses menghitung
dengan angka arab. Anda dikatakan algorist jika Anda menghitung
menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun
hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal
kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu
Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat
menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab
Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The
book of restoration and reduction). Dari judul buku itu kita juga
memperoleh akar kata “Aljabar” (Algebra). Perubahan kata
dari algorism menjadi algorithm muncul karena kata algorism sering
dikelirukan dengan arithmetic, sehingga akhiran –sm berubah
menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal
yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai
sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna
kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap
menjadi algoritma.
2.2 STRUKTUR DASAR
ALGORITMA
Sebuah runtunan terdiri atas satu atau lebih instruksi
yang dikerjakan secara berurutan. Sebuah algoritma merupakan runtutan dari satu
atau lebih instruksi yang berrlaku untuk satu kali. Urutan instruksi juga
dilakukan secara kompiler dan instruksi terakhir adalah akhir dari algoritma
itu sendiri
Ada dua macam model
penyeleksian,yaitu:
· Pernyataan
IF-THEN-ELSE
· Pernyataan
CASE
Penggunaan struktur
IF-THEN-ELSE dapat gunakan jika jumlah kasus tidak banyak.Untuk jumlah kasus
yang banyak, dapat menggunakan konstruksi CASE dapat menyederhanakan penulisan.
Dalam menangani kasus
dengan pernyataan IF-THEN-ELSE dapat lakukan dengan cara-cara sebagai
berikut:
· Satu Kasus
Notasi algoritma untuk
analisis dengan satu kasus adalah dengan menggunakan konstruks iif-then dalam
bentuk pernyataan:
If kondisi then
pernyataan
endif
· Dua Kasus
Notasi algoritma untuk
analisis dengan dua kasus adalah dengan menggunakan konstruksi if-then dalam
bentuk pernyataan:
If kondisi then
pernyataan_1
else
pernyataan_2
endif
·Tiga Kasus
Notasi algoritmik untuk
analisis dengan tiga kasus adalah:
If kondisi_1 then{
kasus 1 }
pernyataan_1
else
if kondisi
_2 then{ kasus 2 }
pernyataan_2
else{ kasus 3 }
pernyataan_3
endif
Dalam menangani kasus
dengan pernyataan CASE dapat lakukan dengan cara sebagai berikut:
Konstruksi CASE adalah
sebagai berikut:
Case ekspresi
nilai_1 pernyataan_1
nilai_2 pernyataan_2
nilai_3 pernyataan_3
. nilai_n pernyataan_n
other wise pernyataan_x
endcase
Struktur pengulangan
terdiri atas dua bagian
· Kondisi
pengulangan, yakni ekspresi boolean yang harus dipenuhi untuk
melaksanakan pengulangan.
· Badan
pengulangan,yakni bagian algoritma yang diulang.
Disamping itu, biasanya
terdapat juga bagian:
· Inisialisasi,
yakni aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
· Terminasi, yakni
aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
Konstruksi pengulangan
ada tiga macam. Pemilihan konstruksi dapat dilakukan sesuai dengan kondisi yang
akan diprogram.
· Pernyataan
FOR
· Pernyataan
WHILE
· Pernyataan
REPEAT
Pernyatan FOR digunakan untuk struktur pengulangan tanpa kondisi. Penyataan
WHILE dan REPEAT digunakan untuk struktur pengulangan dengan kondisi.
2.3 NOTASI ALGORITMA
Notasi algoritma bukan merupakan
notasi bahasa pemograman, namun notasi ini dapat diterjemahkan oleh komputer
dealam bahasa pemprograman apapun. Algoritma dapat dinotasikan kedalam tiga
bentuk, yaitu:
1. Notasi
Ilmiah
Notasi ilmiah adalah notasi algoritma yang dituliskan dalam bahasa
indonesia/inggris dan dalam bentuk kalimat. Algoritma sangat cocok digunakan untuk
algoritma pendek, namun kurang efektif jika digunakan untuk algoritma yang
panjang.
2. Pseudocode
Pseudocode berasal dari dua kata pseudo dan code.pseudo
berarti imitasi dan code berarti kode yang dihubungkan dalam instruksi yang
ditulis dalam bahasa pemograman. Pseudo-code adalah notasi yang menyerupai
notasi bahasa pemrograman tingkat tinggi, khususnya Pascal dan C. Bahasa
pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi
seperti notasi if-then-else, while-do, repeat-until, read, write, dan
sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda
titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya,
sembarang versi Pseudo-code dapat diterima asalakan perintahnya tidak membingungkan
pembaca. Keuntungan menggunakan notasi Pseudo-code adalah kemudahan
mentranslasi ke notasi bahasa pemrograman, karena terdapat korespodensi antara
setiap Pseudo-code dengan notasi bahasa pemrograman. Sehingga Pseudo-code cocok
untuk algoritma yang rumit.
Flowchart/diagram alir
adalah bangan yang menggambarkan urutan langkah-langkah kegiatan atau program
dariawal sampai akhir dengan menggunakan gambar atau simbol dan garis alir.
Simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir (flowlines)
yang menunjukan urutan dari simbol-simbol yang akan dikerjakan. Flowchart lebih
efisien digunakan dibandingkan pseudocode, ini dikarenakan jumlah simbol yang
digunakan dalam flowchart lebih sedikit sehingga lebih sederhana dan mudah
dipahami.
Dealam membuat
flowchart tidak ada rumus atau patokan yang bersifat mutlak karenaflowchart
merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan
komputer sehingga flowchart yang dihasilkan sangat bervariasi antara satu
program dengan program yang lainnya.
Berdsarkan jenisnya
flowchart dapat dibedakan menjadi dua, yaitu flowchart sistem dan flowchart
program. Disini akan dibahas sedikit tentang kedua jenis flowchart ini.
1) Flowchart
sistem, ialah suatu gambaran yang menjelaskan tentang:
– file-file
yang diproses oleh program
– jenis piranti yang digunakan oleh file
–
operasi terhadap file (masukan ataupun keluaran).
2) Flowchart
program (biasa disebut juga flowchart saja), adalah suatu gambar yang
menjelaskan tentang:
– Pembacaan
data
– Pemrosesan
data
– Pengambilan
keputusan terhadap data
–
Penyajian hasil pemrosesan data
“Algoritma adalah urutan
langkah-langkah logis penyelesaian masalah yang disusunsecara sistematis dan
logis”.Kata Logis merupakan kata kunci dalam Algoritma.
Langkah-langkah dalam Algoritmaharus logis dan harus dapat ditentukan bernilai
salah atau benar.
“Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan
kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis
dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa
konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan
pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah,
pertama, algoritma haruslah benar. Artinya algoritma akan
memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan.
Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang
salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan adalah
kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut.
Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan
aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik
harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi
algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun
algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita
harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut
biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat.
Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin
buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat
algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi
perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang
sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
2.4 STRUKTUR
ALGORITMA (TEKS ALGORITMA)
Struktur algoritma merupakan penjelasan langkah-langkah
dari penyelesaian suatu masalah yang tersusun secara sistematis. Langkah –
langkah tersebut tidak memili standar yang baku seperti bahasa pemograman
tetapi langkah-langkah tersebut mudah dipahami oleh pembacanya. Agar struktur
algoritma mudah dikonversikan kedalam bahasa pemograman tertentu maka sebaiknya
langkah-langkah algoritma dituliskan harus berkoresponden dengan
perintah-perintah bahasa pemograman. Struktur (teks) algoritma dibagi atas tiga
bagian, yaitu bagian judul algoritma (header), bagian deklarasi dan bagian diskripsi.
Disini akan dibahas secara singkat tentang ketiga bagian ini.
Judul algoritma merupakan bagian yang menjelaskan tentang
nama algoritma dan penjelasan tentang algoritma tersebut. Nama algoritma
sebaiknya singkat tapi culup untuk menggambar kan apa yang akan dilakukan.
Dibawah ini ada contoh nama algoritma disertai penjelasan singkat atau apa yang
akan dilakukan oleh algoritma. Nama algoritma juga sering disebut dengan
spesifikasi algoritma. Algoritma aharus dituliskan sesuai dengan spesifikasi
yang ditentukan.
Contoh:
Program Keliling
_Balok { Judul
Algoritma }
{ Menghitung
keliling balok yang untuk ukuran sisi yang dibaca melalui piranti masukan lalu
mencetak hasilnya dalam piranti
keluaran} {Spesifikasi
Algoritma}
Deklarasi atau juga sering disebut kamus merupakan
bagian struktur algoritma sebagai tempat untuk mendiskripsikan semua nama yang
dipakai pada algoritma. Nama tersebut dapat berupa nama type, nama konstanta,
nama variabel, nama fungsi, dan nama prosedur. Semua nama tersebut dapat
dipakai dalam algoritma jika telah didefinisikan terlebih dahulu didalam kamus.
Penulisan nama dalam kamus sebaiknya dikelompokkan menurut jenis nama tersebut.
Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama
konstanta sekaligus memberikan harga konstanta tersebut, pada pendifinisian
nama fungsi dilakukan sekaligus dengan domain atau range serta spesifikasinya.
Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada)
dan spesifikasi prosedur ( kondisi awal “Initial State”, kondisi akhir “Final
State” dan proses yang dilakukan).
Deskripsi adalah inti dari algoritma yang
berisi instruksi atau panggilan aksi yang telah didefinisikan.
Komponen-komponen teks algoritma dalam pemograman yaitu: instruksi dasar
seperti input/output, assignment, squence (runtutan), analisa kasus dan
pengulangan. Setiap langkah algoritma dibaca dari langkah paling atas hingga
langkah paling bawah. Ini harus dilakukan secara benar karena urutan penulisan
menentukan urutan pelaksanaan perintah.
2.5 TIPE DATA,
OPERATOR dan EKSPRESI
Setiap variabel harus
memiliki kejelasan tentang data apa yang dapat disimpannya. Suatu variabel
tidak bisa menyimpan semua jenis data, melainkan hanya bisa menyimpan satu
jenis tipe data. Dalam konteks algoritma ini, ada lima jenis tipe data yang kan
dibahas, yaitu :
ü Boolean
Tipe ini hanya mengenal
dua nilai yaitu true (benar) dan false (salah).
ü Bilangan
bulat (integer)
Tipe ini hanya mengenal
bilangan bulat ...,-3, -2, -1, 0, 1, 2, 3,...
ü Bilangan
real
Tipe ini hanya mengenal
data bilangan real (gabungan dari bilangan pecahan dan bulat). Contoh :
-2.3419, 394.0023, 1.1, 0.002, -11.00, 1.25E+5 (artinya 1.25 x 105), 2.78E-8
(artinya 2.78 x 10-8), dll.
ü Char
Tipe ini untuk
menampung nilai berupa simbol-simbol karakter yang kita kenal seperti huruf ‘A’
sampai ‘Z’, ‘a’ sampai ‘z’, ‘0’ sampai ‘9’, ‘@’,’#’,’$’, ‘&’, ‘+’, ‘/’,
dst. Perhatikan: setiap kali kita menulis karakter selalu diapit oleh tanda
(‘).
ü String
Tipe ini merupakan gabungan dari beberapa karakter.
Misalnya ‘lemari’, ‘mesin cuci’, ‘Indonesia tanah airku’, ‘#4dfjhver
elnrejkne567^PJK’, dll. Perhatikan : penulisan string selalu diapit
dengan ( ‘ ).
Dalam bahasan kali ini
akan dibahas tiga macam operator, yaitu:
Operator aritmatika
adalah operator yang digunakan untuk melakukan operasi penjumlahan,
pengurangan, pembagian, dan perkalian atau operator yg digunakan untuk
melak ukan perhitungan pada bilangan. Berikut ini merupakan tabel yang
berisi macam-macam operator aritmatika yang dapat digunakan pada PHP.Operator
relasi adalah operator penghubung yang berupa benar atau salah, sesuai dengan
teorinya bahwa operator relasi mengeluarkan tipe data Boolean sehingga program
akan mengeluarkan output true atau false.Operator Logika adalah Operator yang
digunakan untuk menggabungkan dua kalimat sehingga terbentuk kalimat gabungan.
Nilai kebenaran kalimat gabungan ini ditentukan oleh nilai kebenaran dari
kalimat-kalimat pembentuknya. Operator logika di sini bertindak sebagai fungsi
Ekspresi adalah cara menghitung dalam algoritma yang
menghailkan sebuah nilai. Ekspresi terdiri dari operand dan operator. Operand
adalah elemen (nilai) yang dioperasikan dengan operator tertentu.
Terdapat 3 jenis
ekspresi, yaitu :
a. Ekspresi
numerik, ekspresi yang baik operand, operator dan hasilnya bertipe numerik.
Contoh :
3 + 2, 12 div 4, dan
sebagainya
b. Ekspresi
relasional (ekspresi boolean), ekspresi yang operatornya terdiri dari operator
perbandingan dan logika. Hasil ekspresi ini merupakan bilangan logika (true
atau false).
Contoh :
not true, x < 10,
dan sebagainya
c. Ekspresi
string, ekspresi yang operatornya adalah “+” (operator penyambungan).
Contoh :
‘Teknik ’ + ‘Informatika’
1.
Mengenal Bahasa Pemrograman Pascal Pascal merupakan suatu bahasa pemrograman
computer tingkat tinggi yang di buat sekitar tahun 1970 oleh Niklaus Wirth dan
di gunakan untuk pendidikan computer. Nama pascal di ambil dari seorang ahli
matematika yang bernama blaise pascal yang menemukan mesin hitung pertama.
Bahasa Pascal di rancang untuk menyelesaikan masalah dari berbagai kalangan
pemakai, mulai dari para mahasiswa, pendidik, dan ilmuwan.
2.
Pascal adalah bahasa pemrograman terstruktur.
Bahasa Pascal merupakan bahasa pemrograman terstruktur. Hal tersebut
berarti semua program yang anda buat harus terstruktur dan teratur atau
sistematis.
3. Versi turbo pascal untuk pemrograman
visual. Pemrograman pascal pada trend ini telah mengembangkan program berbasis
Visual yaitu Borland Delphi yang
menggunakan dasar bahasa Pascal pada
lingkungan pemrograman Visual yang di keluarkan oleh perusahaan Borland.
4. Struktur dan Komponen Dasar Program Pascal.
Struktur dari suatu program Pascal terdiri dari sebuah judul program dan suatu
blog program atau badan program. Badan.program di bagi lagi menjadi dua bagian,
yaitu bagian deklarasi dan bagian pernyataan (statement). Struktur Program :
Judul
Program : program nama_program; Blok
program Bagian deklarasi Deklarasi label
: Label nama_label; Deklarasi konstanta
: Const …………...; Deklarasi tipe
: Type ……………; Deklarasi variable
: Var . . …………..; Deklarasi prosedur
: Procedure nama_prosedur;
………………………………; Deklarasi Fungsi :
Function nama_fungsi; …………………………;
Bagian pernyataan Begin (statement) ……………….; ……………….; end.
Tujuan
Instruksional Umum : Setelah mengikuti
mata kuliah ini, diharapkan mahasiswa mampu
memahami konsep dasar bahasa pemrogrman pascal.
Tujuan
Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan
mampu membuat program sesuai dengan strukur bahasa program pascal yang benar.
2.6 PRAKTIKUM ALGORITMA
Konsep
Dasar Bahasa Pemrograman Pascal RAKTIKUM I
Judul Program Judul program dalam Turbo Pascal bersifat
optional dan tidak ada pengaruhnya dalam
program, Jika ditulis akan memberikan nama program serta tidak boleh mengandung
spasi dan di akhiri dengan titik koma. Contoh : Program
menghitung_luas_lingkaran;
Uses
Clause (Anak Kalimat) Bagian uses caluse di gunakan untuk menentukan library
yang di butuhkan saat proses program. LIBRARY merupakan file penyimpan
subroutine yang secara berulang di gunakan saat proses program. Contoh LIBRARY
yang sering di gunakan adalah “crt”. Contoh Uses Crt; {*Menggunakan unit Crt*}
Keterangan : Unit system merupakan unit yang secara otomatis akan di sertakan
dalam setiap program, unit inilah mengatur semua perintah dasar input dan
output pada Pascal. Sedangkan unit-unit lain hanya akan di sertakan bila kita
pilih pada bagian uses.
Declaration Bagian ini meliputi
deklarasi untuk label, const, type, var, procedure dan function. Syarat yang
paling penting dalam membentuk dan menyusun sebuah bahasa pemrograman
adalah,bahasa setiap variable, constanta, procedure, function harus di deklarasikan terlebih dahulu pada
bagian deklarasi. 4.3.1. Deklarasi Label Deklarasi label di gunakan jika pada
penulisan program akan menggunakan statemen GOTO (untuk meloncat ke suatu
statement tertentu). Sintak: Label 100: 4.3.2. Deklarasi Konstanta Deklarasi
ini di gunakan untuk mengidentifikasikan data yang nilainya sudah di tentukan
dan pasti, tidak dapat di rubah dalam program. Sintaks : Const
Nama_Konstanta=Nilai; Contoh: Const Phi=3.14; 4.3.3. Deklarasi Tipe Deklarasi
ini di gunakan untuk menyebutkan tipe setiap data yang akan di gunakan pada
program pascal. Tipe data menentukan jangkauan nilai yang mungkin dari data
yang di gunakan.
Deklarasi variable/perubah Deklarasi
ini berisi data-data yang bisa berubah-ubah nilainya di dalam program.
Deklarasi variable harus di letakkan setelah deklarasi tipe (jika ada). Nama
variable atau identifier adalah nama yang di berikan oleh programmer.
Identifier tidak hanya untuk menamai program tetapi juga untuk objek-objek
Pascal yang lain, seperti variable dan konstanta. Penulisan nama variable dalam
deklarasi memiliki syarat atau ketentuan sebagai berikut : 1. Setiap deklarasi
tersebut harus bersifat unik (tidak boleh berupa satu sama yang lain). 2.
Panjang nama maximum 63 karakter dan di awali dengan alphabet. 3. Tidak boleh
mengandung karakter special kecuali tanda garis bawah (“_”) seperti : + , - ,
*, /,=, : , <, >, { , }, ( , ), [ , }, }, dll. 4. Tidak boleh mengandung
reserved word (kata kunci), Seperti : program, uses, begin, write, read, if,
else, for, or, and, end, while, dsb. 5. Tidak boleh sama dengan identifier
lainnya.
a. Deklarasi Variabel dan Tipe Data Setiap
variable yang di gunakan dalam program harus di definisikan terlebih dahulu
sebelum di gunakan dan di ikuti dengan jenis tipe data yang di gunakan. Jenis – jenis tipe data yang sering di
gunakan adalah sebagai berikut : b. Tipe data integer : Tipe Ukuran memori
(dalam byte) Jangkauan Nilai Byte 1 0..255 Shortint 1 -128..127 Integer 2 -32768..32767
Word 2 0..65535 Longint 4 -2147483648..2147483647
c.
Tipe data Real : Tipe Ukuran memori (dalam byte)
Jangkauan
Nilai Single 4 1.5x10E-45..3.4x10E38 Double 8 5.0x10E-324..1.7x10E308 Extended
10 1.9x10E-4951..1.1x10E4932 Comp 8 -2E+63+1..2E+63-1
d. Tipe data Karakter : Untuk menuliskan tipe
data karakter dalam bahasa pascal di tuliskan dengan kata char dan nilai yang dapat di tampung seperti
„A‟,‟a‟,‟!‟,‟1‟, dsb.
e.
Tipe data String : Nilai data dari string merupakan urutan-urutan dari karakter
yang terletak di antara tanda petik tunggal. Nilai data string akan menempati
memori sebesar banyaknya karakter stringnya di tambah dengan 1 byte. Bila
panjang dari suatu string di dalam deklarasi variable tidak di sebutkan, maka
di anggap panjangnya adalah 255 karakter. Contoh : Var Nama:string[35]; f. Tipe
data Boolean : Jenis data ini mempunyai nilai TRUE dan FALSE Operator untuk
jenis data ini adalah : 1. Logical Operator, yaitu : NOT, AND dan OR 2.
Relational Operator, Yaitu : >,<,>=,<=,<> dan = Cara penulisan variable adalah : var <nama variabel>:<type variable>;
Contoh yang benar : var
nama:string;
bilangan1:integer; ab:real;
Contoh yang salah : var nama anda:string; {Salah karena memuat spasi
antara nama dan anda} 1bilangan:integer;
{Salah karena dimulai dengan angka}
A+B:real; {Salah karena mengandung operator + }
5.
Deklarasi Prosedur dan Fungsi Program dapat di bagi menjadi beberapa
bagian/subprogram, yang terdiri dari suatu program utama dan satu/lebih program
bagian (bisa berupa prosedur/fungsi). Deklarasi procedure/fungsi terletak pada
subprogram yang menggunakannya.
6.
Begin Bagin ini adalah bagian yang akan di proses dan terdapat dalam suatu blok
yang di awali dengan BEGIN dan di akhiri dengan END (penulisan END di ikuti
dengan tanda titik). Bagian ini berisi pernyataan/statement yang merupakan
instruksi program. Setiap statement di akhiri dengan tanda titi koma);). Bentuk
umumnya adalah sebagai berikut : Begin … Statement; … End. a. Statement Bagian
ini merupakan inti dari program. Seluruh perintah dan urutannya serta proses
Input/Output dalam program perlu disusun secara teratur oleh penyusun program.
Segala yang ada pada bagian uses maupun deklarasi merupakan pendukung bagian
isi program. Dalam penulisan struktur statement dalam bahasa pascal memiliki
aturan sebagai berikut :
1. Tanda titik koma (;) merupakan pemisah
antar instruksi satu dengan lainnya.
2. Beberapa statement boleh di tulis menjadi
satu baris di pisahkan dengan tanda baca titik koma (;)
3.
Baris komentar di letakkan tanda (*dan*) atau diantara tnda {dan}.
4.
Akhir dari program pascal di tandai dengan tanda baca titik (.) setelah kata
END yang paling akhir.
b.
Perintah Input/Output
1.
Read/Readln Perintah Read dan Readln akan menangkap nilai masukan yang di
berikan melalui keyboard dan penyimapanannya di sebuah memori computer dengan
nama sesuai dengan paramaternya. Perbedaan perintah read dan readln sama dengan
perbedaan perintah write dan writeln. Perintah read akan membaca masukan dari
keyboard tanpa memindahkan posisi kursor setelah pembacaan, sedangkan perintah
readln akan membaca masukan sekaligus memindahkan posisi kursor. Misalnya :
2.
Write/Writeln Perintah writeln merupakan kependekan dari write line. Setelah
menuliskan parameternya di layar, maka kursor penulisan akan langsung pindah ke
baris di bawahnya atau ganti baris. Perintah write hanya menuliskan
parameternya saja tanpa pindah baris. Contoh penggunaan perintah write dan
writeln:
Write(„Selamat
Belajar‟); Writeln(„Pascal‟); Write(„Semoga Sukses‟);
3. Readkey Untuk pembacaan sebuah karakter
dari keyboard. Tipe data yang di hasilkan adalah char. Sintaks:READKEY; 4.
Clrscr Di gunakan untuk membersihkan layar. SIntaks : Clrscr; 5. Gotoxy Untuk
menempatkan posisi kursor pada layar. SIntaks:Gotoxy(X,Y:Byte); Keterangan;
X=Sumbu X (Posisi horizontal), Y=sumbu Y (posisi vertical) 6. Delay Untuk
menghentikan sejenak proses program. Sintaks:Delay (MS:Word); Keterangan :
MS=Ukuran waktu dalam millisecond. c. Perintah yang di gunakan untuk
memanipulasi string.
1.
CONCAT(Fungsi) Untuk menggabungkan
2.atau’beberapa’variable.string.Sintaks
: CONCAT(s1[,s2,…,sn]:string):string)STRING;Contoh : CONCAT(„ABC‟,‟DEF‟)
{ABCDEF}
2. COPY (fungsi) Mengambil satu (1) atau
beberapa karakter dari sebuah string. Sintaks :COPY(S,Index,Count):String;
Keterangan: S=Sebuah string (string) Index=Posisi awal kita akan mengambil
beberapa karakter (integer) Count=Banyaknya karakter yang akan di ambil
(integer).
3.
DELETE (procedure) Menghapus sebagian karakter dari sebuah string.
Sintaks
: DELETE (S,Index,Count); Keterangan : S=Sebuah string (string) Index=Posisi
awal kita akan mengambil beberapa karakter (integer) Count=Banyaknya karakter
yang akan di ambil (integer).
4.
INSERT (prosedur) Menyisipkan satu (1) atau beberapa karakter ke dalam sebuah
string. Sintaks : INSERT(Source,varS,Index); Keterangan : Source=Sumber string
untuk di sisipi (string) Var S=String tujuan yang akan di sisipi oleh string
Source (String) Index=Posisi mulai (integer) 5. LENGTH(fungsi) Memberikan nilai
panjang dari suatu string (jumlah karakter dalam sebuah string). Sintaks:
LENGTH(S); Keterangan : S=String Length(S) = Menghasilkan nilai integer. 6. POS
(fungsi) Mencari posisi sebuah bagian string (substring) di dalam sebuah
string/ Sintaks: POS(Substr,S); {Menghasilkan nilai Byte} Keterangan :
Substr=Substring yang akan di cari posisinya di dalam sebuah string S.Bila
bernilai 0 berarti nilai string yang di cari tidak ada. 7. STR(Prosedur)
Merubah nilai numeric ke dalam nilai string. Sintaks : STR(N,S); Keterangan :
N=data tipe integer, S=data tipe string. 8. UPCASE (fungsi) Memberikan huruf
capital dari argument. Sintaks :UPCASE(S); Keterangan : S=variable bertipe
karakter.
d.
Perintah untuk perhitungan aritmatik 1. ABS (fungsi) Memberikan nilai mutlak
dari suatu argument.
Sintaks
: ABS(x); 2. COS (fungsi) Memberikan nilai dari fungsi Cosinus/ Sintaks :
COS(x); 3. INT(fungsi) Memberikan nilai integer (bilangan bulat) dari suatu
variable dengan membuang bilangan di belakang koma. Sintaks : INT(x); 4.
SIN(fungsi) Memberikan nilai dari fungsi Sinus. 5. SQR(Fungsi) Di gunakan untuk
menghitung nilai pangkat kuadrat dari suatu bilangan. Sintaks : SQR(x); Tipe
dari x bisa berupa real maupun integer. Dan hasilnya akan sama dengan tipe dari
x. 6. SQRT(fungsi) Di gunakan untuk
menghitung nilai akar dari suatu bilangan. Sintaks : SQRT (x). e. Perintah
untuk transfer nilai dari suatu variable. 1. CHR(fungsi) Merubah nilai dari
byte ke bentuk karakter yang sesuai dengan kode ASCII. Sintaks : CHR(x);
Keterangan :x bertipe byte Contoh : Writeln(CHR(61); Hasilnya = a 2.
ROUND(fungsi) Membulatkan tipe real ke data tipe longint. Sintaks:ROUND (x);
Keterangan : Jika nilai pecahan < 0,5 maka di bulatkan ke bawah. Jika nilai
pecahan > 0,5 maka di bulatkan keatas. Contoh : Writeln(„10/3 di bulatkan =
„,ROUND(10/3)); Hasilnya : 10/3 di bulatkan = 3 3. TRUNC(fungsi) Membulatkan
kebawah data tipe real ke data tipe longint. Sintaks :TRUNC(x); Contoh :
Writeln(„20/3 di bulatkan ke
bawah=‟,TRUNC(20/3)); Hasilnya:20/3 di bulatkan ke bawah = 6
f.
Keterangan Bagian keterangan berfungsi untuk menjadikan bagian-bagian atau
setiap baris program dapat di baca dan di mengerti, maka perlu di beri
keterangan yang akan di abaikan oleh compiler. Untuk membuat keterangan di
gunakan tanda kurung kurawal {ini adalah keterangan}, atau (*ini adalah
keterangan*). g. Struktur program pascal yang paling sederhana. Struktur
program pascal yang paling sederhana adalah : Uses …; Var . . .; Begin . . .
{Bagian isi program} end.
Contoh
program : Program PertamakuPascal; Uses crt; Begin Clrscr; Writeln(„Selamat
belajar Pascal !‟); Writeln(„Di STMIK Bina Bangsa Kendari‟); Readln; end.
h.
Jenis-Jenis Operator : 1. Operator Assigment Assigment Operator (Operator
Pengerjaan) menggunakan symbol titik dua di ikuti oleh tanda sama dengan (:=).
Contoh : A:=B; 2. Binary Operator Binary operator di gunakan untuk
mengoperasikan dua buah operand yang terbentuk konstanta ataupun variable.
Operator ini di gunakan untuk operasi arithmatika yang berhubungan dengan nilai
tipe data Integer dan Real. Operasi yang di lakukan adalah Pertambahan,
Pengurangan, Perkalian, Pembagian Bulat, Pembagian Real dan Sisa Pembagian.
Berikut ini adalah jenis operator yang di gunakan :
Operator Integer Type Real Type + Penjumlahan
Penjumlahan - Pengurangan Pengurangan * Perkalian Perkalian / Pembagian
Pembagian DIV Hasil Bagi MOD Sisa
Bagi
Pemrograman
Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh :
Aris Susanto, S.SI
3.
Unary Operator Unary Operator, operator ini menggunakan sebuah operand saja
dapat berupa unary minus dan unary plus. Contoh : +2.5, a+(+b), dll.
4. Bitwise Operator Bitwise Operator di
gunakan untuk operasi bit per bit pada nilai integer. Operator yang di gunakan
antara lain sebagai berikut :
Operator Integer Type Boolean Type NOT Bitwise
Negation Logical Negation AND Bitwise AND Logical AND OR Bitwise inclusive OR
Logical inclusive OR XOR Bitwise exclusive OR Logical exclusive OR
5. Relasional Operator Operator relasional merupakan operator untuk
membandingkan dua buah nilai. Operator yang di gunakan adalah sebagai berikut :
Operator Fungsi <> Tidak sama
dengan < Lebih kecil > Lebih besar <= Lebih kecil atau sama dengan
>= Lebih besar atau sama dengan
KEGIATAN
PRAKTIKUM Kegiatan 1. Program pertamaku; Uses crt; Begin Write („Selamat Datang
di Pemrograman Pascal‟); Writeln(„STMIK Bina Bangsa Kendari‟); Readln; end.
Simpan program di atas dengan memilih menu File, Save atau Save As (Alt F+S)
dan beri nama file Praktikum_1.pas. Kemudian eksekusi program tersebut dengan
memilih menu Run atau (Ctrl+F9). Kemudian perhatikan hasilnya. Tambahkan
perintah Readln sebelum perintah end. Kemudian eksekusi kembali program
tersebut dan amati hasilnya. Kegiatan-2.
Buatlah
program yang mendeklarasikan suatu bilangan bertipe real, mengisi bilangan
bertipe real tersebut dari keyboard, lakukan operasi tambah, kurang, bagi,
kali. Tampilkan hasil dari tiap setiap operasi ke layar. Penyelesaian : Program
Praktikum_2; Uses crt; Var
Bil1,Bil2:real; Begin Clrscr;
Write(„Masukkan Bilangan Pertama „); Readln(Bil1); Write(„Masukkan Bilangan
Kedua‟); Readln(Bil2); Writeln(„Bilangan Pertama di Tambah Bilangan Kedua‟ ,
Bil1+Bil2:2:0); Writeln(„Bilangan Pertama di Kurang Bilangan Kedua‟ ,
Bil1-Bil2:2:0); Writeln(„Bilangan Pertama di Kali Bilangan Kedua‟ ,
Bil1*Bil2:2:0); Writeln(„Bilangan Pertama di Bagi Bilangan Kedua‟ ,
Bil1/Bil2:2:0); Readln; End.
Kegiatan 3. Buatlah program untuk menghitung
luas persegi panjang, yang dapat menerima input nilai Panjang dan nilai Lebar
sehingga dapat menghasilkan nilai luas.
Penyelesaian :
Program Menghitung_Luas_Persegi_Panjang; Uses
crt; Var Panjang, Lebar, Luas:real;
Begin Clrscr; Write(„Masukkan Nilai Panjang : „); Readln(Panjang);
Write(„Masukkan Nilai Lebar : „); Readln (Lebar); Luas:=Panjang*Lebar; Clrscr; Writeln(„Luas persegi panjang adalah
: „ , Luas:2:0); Readln; End. Kegiatan 4 : Buatlah program untuk menghitung
umur anda yang dapat menerima input Nama, Alamat, Tahun Lahir, Tahun
Sekarang.sehingga bisa menghasilkan jumlah umur anda sekarang.
Penyelesaian
: Program menghitung_umur; Uses crt; Var
Nama:string[35];
Alamat:string[45];
Usia,Thn_Lahir,Thn_Sekarang:integer; Begin Clrscr; Write(„Nama Anda :
„); readln(Nama); Write(„Alamat Anda : „); readln(Alamat); Write(„Tahun Lahir :
„); readln(Thn_Lahir); Write(„Tahun Sekarang : „); readln(Thn_Sekarang);
Usia:=Thn_Sekarang-Thn_Lahir; Clrscr; Writeln(„Program Menghitung Umur‟);
Writeln(„______________________‟); Writeln(„Nama Anda Adalah : „ , Nama);
Writeln(„Alamat Anda Adalah : „ , Alamat); Writeln(„Usia Anda Sekarang Adalah :
„ , Usia); Readln; End.
Tugas 1 : Buatlah Program untuk menghitung
Luas dan Keliling Persegi. Input : Nilai Sisi Output : Luas Dan Keliling
Persegi. Tugas 2 : Buatlah program yang menampilkan data mahasiswa berupa No.
Stambuk, Nama, Nilai Tugas, Nilai UTS, Nilai UAS, dan Total Nilai. Input :
No.Stambuk, Nama, Nilai Tugas, Nilai UTS, Nilai UAS. Proses : Total Nilai=(20%
* Nilai Tugas) + (35% * Nilai UTS) + (45% * Nilai UAS) Output : Total Nilai
A.
Perintah Seleksi Instruksi seleksi biasa
juga di sebut dengan percabangan yaitu instruksi untuk mengambil suatu
keputusan apakah suatu baris instruksi akan di proses atau tidak. Berikut ini
adalah bentuk-bentuk instruksi seleksi : 1. Seleksi if/then. Di gunakan untuk
memilih suatu alternatif apakah akan di kerjakan atau tidak, berdasarkan
kondisi. Jika kondisi yang di seleksi benar dan memenuhi syarat maka alternatif
tersebut akan di kerjakan akan tetapi jika tidak memenuhi syarat maka
alternative tersebut tidak di kerjakan dan di abaikan. Bentuk penulisan dari
perintah seleksi if/then adalah sebagai berikut: If kondisi then Alternatif 2. Seleksi if/then/else. Di
gunakan untuk menyeleksi satu di antara dua alternative berdasarkan kondisi.
Bila kondisi terpenuhi, maka alternative pertama yang akan di eksekusi akan
tetapi jika kondisi tidak terpenuhi, maka alternative kedua yang akan di
eksekusi. Bentuk seleksi if/then/else sebagai berikut : If kondisi then Alternatif1 Else Alternatif2 3. Seleksi if/then/else if/else. Di gunakan untuk menyeleksi satu di antara
tiga alternative atau lebih. Bentuk umumnya adalah sebagai berikut : If kondisi
then Alternative_1 Else if kondisi then Alternatif_2 ……………………….. Else if kondisi
then Alternatif_n Else
alternatifN+1
Tujuan
Instruksional Umum : Setelah mengikuti
mata kuliah ini, diharapkan mahasiswa mampu
membuat program untuk menyeleksi sejumlah kasus.
Tujuan
Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan
menyusun program menggunakan instruksi seleksi.
Instruksi
Seleksi PRAKTIKUM II
Keterangan : 1. Alternatif_1 di eksekusi jika
kondisi_1 bernilai benar; 2. Alternati_2 di eksekusi jika kondisi_2 bernilai benar dan kondisi_1
bernilai salah; 3. Alternatif_n di eksekusi jika kondisi_1 bernilai salah,
kondisi_2 bernilai salah dan kondisi_n bernilai benar; 4. Alternatif_n+1 di
eksekusi jika kondisi_1, kondisi_2, sampai dengan kondisi_n bernilai salah. 5.
Seleksi Case Di gunakan untuk menyederhanakan
instruksi if/then/else if/else yang terlalu banyak. Bentuk dari seleksi case
adalah sebagai berikut :
Case
(variable) of Nilai_1 :
Alternatif_1; Nilai_2 :
Alternatif_2; ……………………; Nilai_n : Alternatif_n; Else Alternatif_n+1;
End;
Penjelasan :
1.
Alternatif_1 di kerjakan jika nilai variable sama dengan nilai_1 2.
Alternatif_2 di pilih jika nilai variable sama dengan nilai_2 3. Alternative_n
di pilih jika nilai variable sama dengan nilai_n 4. Alternatif_n+1 di pilih
jika nilai variable tidak sama dengan nilai_1 sampai dengan nilai_n.
Kegiatan Praktikum : Kegiatan_1: Buatlah
program untuk membaca sebuah bilangan. Jika bilangan tersebut habis di bagi
dengan 2, maka akan menampilkan keterangan bahwa bilangan tersebut adalah
bilangan genap dan jika tidak maka akan tampil keterangan bahwa bilangan
tersebut adalah bilangan ganjil.
Penyelesaian : Program
Mencari_Bilangan_Genap_Ganjil; Uses crt; Var
Angka:integer; Begin Clrscr; Write(„Masukkan sebuah angka : „);
Readln(Angka); If (Angka Mod 2=0)
then Writeln(Angka, „Adalah Bilangan
Genap‟) Else Writeln(Angka, „Adalah Bilangan Ganjil‟);
Readln; end.
Kegiatan_2: CV. Sumber Info Media memberikan
tunjangan keluarga kepada karyawan sebesar 10% dari gaji pokok dan tunjangan
anak sebesar 2% dari gaji pokok untuk setiap anak. Jumlah anak yang boleh masuk
tanggungan adalah maksimal 2 orang anak. Gaji pokok di dasarkan pada
masing-masing golongan. Untuk golongan 1 memiliki gaji pokok sebesar 500000,
golongan 2 memiliki gaji pokok sebesar 600000, golongan 3 memiliki gaji pokok
sebesar 700000 dan golongan 4 memiliki gaji pokok sebesar 1000000. Penyelesaian : Program
Menghitung_Gaji_Pegawai; Uses crt; Var
JA:Byte; Gapok:Longint; Nama,nik:string;
Totalgaji,t_anak,t_keluarga:real; Gol,status:char; Begin Clrscr; Write(„Nomor
Induk Pegawai : „); Readln(nik); Write(„Nama Karyawan : „); Readln(nama);
Write(„Golongan [1/2/3/4] : „); Readln(gol); Write(„Status [K/B] : „);
Readln(status); Write(„Jumlah Anak : „); Readln(ja); If (gol=‟1‟) then
gapok:=500000
Pemrograman
Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh :
Aris Susanto, S.SI
Else if (gol=‟2‟) then gapok:=600000 Else if
(gol=‟3‟) then gapok:=700000 Else gapok:=1000000; If (status=‟K‟) then
t_keluarga:=10/100*gapok Else t_keluarga:=0; If JA>2 then
t_anak:=2*gapok*2/100 Else t_anak:=JA*gapok*2/100;
Totalgaji:=gapok+t_keluarga+t_anak; Clrscr; Writeln(„NIK Karyawan : „,NIK);
Writeln(„Nama Karyawan :‟,Nama); Writeln(„Golongan :‟,gol); Writeln(„Status
Kawin : „,status); Writeln(„Jumlah Anak : „,JA); Writeln(„Gaji Pokok : Rp.„ ,
gapok:2:0); Writeln(„Tunjangan Keluarga : Rp. „, t_keluarga:2:0);
Writeln(„Tunjangan Anak : Rp. „, t_anak:2:0); Writeln(„Total Gaji : Rp. „ ,
totalgaji:2:0); Readln; end.
Kegiatan-3: Manipulasi program yang anda ketik
sebelumnya dengan cara mengganti perintah if dengan perintah case untuk
menentukan gaji pokok berdasarkan golongan.
Program
menghitung_gaji_pegawai; Uses crt; Var Ja:byte; Gapok:longint; Nama,nik:string; Totalgaji,t_anak,t_keluarga:real; Status,gol:char; Begin Clrscr;
Write(„NO.Induk Pegawai : „); readln(nik); Write(„Nama Pegawai : „);
readln(nama); Write(„Golongan [1,2,3,4] : „) readln(gol); Write(„Status [K/B] :
„); readln(status); Write(„Jumlah Anak : „); readln(ja); Case gol of „1‟ :
gapok:=500000; „2‟ : gapok:=600000; „3‟ :gapok:=700000;
Else gapok:=1000000; End; If (status=‟k‟) or
(status=‟K‟) then t_keluarga:=10/100*gapok else t_keluarga:=0; if ja>2 then
t_anak:=2*gapok*2/100 else t_anak:=ja*gapok*2/100;
totalgaji:=gapok+t_keluarga+t_anak; clrscr; Writeln(„NIK Karyawan : „,NIK);
Writeln(„Nama Karyawan :‟,Nama); Writeln(„Golongan :‟,gol); Writeln(„Status
Kawin : „,status); Writeln(„Jumlah Anak : „,JA); Writeln(„Gaji Pokok : Rp.„ ,
gapok:2:0); Writeln(„Tunjangan Keluarga : Rp. „, t_keluarga:2:0);
Writeln(„Tunjangan Anak : Rp. „, t_anak:2:0); Writeln(„Total Gaji : Rp. „ ,
totalgaji:2:0); Readln; End.
Kegiatan :
Buatlah program untuk menyelesaikan kasus-kasus di bawah ini : 1.
Buatlah program yang menampilkan data mahasiswa berupa No. Stambuk, Nama, Nilai
Tugas, Nilai UTS, Nilai UAS dan Total Nilai. Input : No.Stambuk, Nama, Nilai
Tugas, Nilai UTS, Nilai UAS Proses : Total Nilai =20%*Nilai Tugas+35%*Nilai UTS+45%
Nilai UAS Jika Total Nilai>=85,
maka nilai huruf=”A” Jika Total
Nilai>=75, maka nilai huruf=”B”
Jika total Nilai>=65, maka nilai huruf=”C” Jika Total Nilai>=45, Maka nilai
huruf=”D” Jika Total Nilai<45,
maka nilia huruf=”E” Keluaran : Total Nilai, Nilai Huruf.
A.
Perintah Perulangan
1. Perulangan for…to…do Pernyataan for…to…do
di gunakan untuk menyelesaikan proses perulangan. Perulangan dengan pernyataan
for dapat berupa perulangan positif („to‟) dan perulangan negative („downto‟).
Jika pernyataan yang akan mengalami perulangan lebih dari satu pernyataan, maka
harus di awali dengan begin dan di akhiri dengan end; Bentuk for positif : For
variable:=Awal to akhir do („Instruksi yang di proses berulang-ulang‟) Bentuk
for negative: For variable:=Awal down to akhir do („Instruksi yang di proses
berulang-ulang‟)
2. Perulangan While. Perulangan While Di gunakan untuk pengujian
syarat pada awal proses berulang pengujian awal di gunakan agar program dapat
menyeleksi kondisi, sehingga program dapat menentukan tindakan apa yang harus
di kerjakan, tergantung dari kondisi yang di seleksi tersebut. Bentuk while :
While kondisi do („Instruksi yang di proses
berulang-ulang‟);
Contoh 1: Angka:=1; While Angka<=10 do
Begin Write(Angka,‟ „); Inc(Angka); {Nilai di naikan sebanyak 1 sampai dengan
10} End;
Tujuan Instruksional Umum : Setelah mengikuti mata kuliah ini,
diharapkan mahasiswa mampu membuat program untuk menyelesaikan sejumlah kasus.
Tujuan
Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan
mampu menyusun program menggunakan instruksi perulangan.
Instruksi
Perulangan/Looping PRAKTIKUM III Contoh 2: Angka:=25; While Angka>=1 do
Begin Write(Angka,‟ „); Dec(Angka); {Nilai di turunkan sebanyak 1 sampai dengan
1} End;
3. Perulangan Repeat. Perulangan Repeat Di gunakan untuk melakukan
perulangan terhadap suatu pernyataan, dimana proses pemeriksaan syaratnya
berada pada akhir pernyataan repeat tersebut. Pernyataan-pernyataan yang ada
pada repeat akan di jalankan (diulang terus) sampai kondisi yang di seleksi di
until tidak terpenuhi. Bentuk penulisan :
Repeat
(„Instruksi yang akan di proses berulang‟) Until Kondisi Contoh 1:
Angka :=1; Repeat Write(Angka,‟ „);
Inc(Angka);{Nilai di naikkan sebanyak 1} Until Angka>25;
Contoh
2 :
Angka:=25; Repeat Write(Angka,‟ „); Dec(Angka); {Nilai di kurangi sebanyak 1}
Until Angka<1;
Pemrograman
Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh :
Aris Susanto, S.SI
Kegiatan 1: Buatlah program yang dapat
menampilkan bilangan genap dari bilangan 2 s/d 100. Penyelesaian : Program
menampilkan_bilangan; Uses crt; Var angka:integer; Begin Clrscr;
Writeln(„Bilangan Genap 1 s.d 100‟); For Angka:=1 to 100 do If Angka mod 2=0
then write(Angka); Readln; end.
Kegiatan 2: Buatlah program menghitung gaji
pegawai dengan menggunakan perulangan. Penyelesaian : Program
menghitung_gaji_pegawai; Uses crt; Var JA:Byte; Gapok:longint; Nama,NIK:string;
Totalgaji,T_Anak,T_Keluarga:real; Gol,Status,Lagi:Char; Begin Repeat Clrscr;
{Perintah Input Data} Write(„No.Induk Karyawan :‟);readln(NIK); Write(„Nama
Karyawan :‟);readln(Nama); Write(„Golongan [1/2/3/4] :‟); readln(Gol);
Write(„Status [K/B] :‟);readln(Status); Write(„Jumlah Anak : „); readln(JA);
{Perintah menentukan gaji pokok berdasarkan golongan} If (Gol=‟1‟) then
Gapok:=500000 Else if (Gol=‟2‟) then
Gapok:=600000 Else if (Gol=‟3‟) then
Gapok:=700000 Else Gapok:=1000000; {Perintah Menghitung Tunjangan Keluarga} Pemrograman
Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh :
Aris Susanto, S.SI
If UPCASE (Status)=‟K‟ then
T_Keluarga:=10/100*Gapok Else T_Keluarga:=0; {Perintah menghitung Tunjangan
Anak} If JA>2 then T_Anak:=2*Gapok*2/100 Else T_Anak:=JA*Gapok*2/100;
Total_Gaji:=Gapok+T_Keluarga+T_Anak; {Perintah Menampilkan Hasil Akhir/Output}
Clrscr; Writeln(„NIK Karyawan : „ , NIK); Writeln(„Nama Karyawan : „ , Nama);
Writeln(„Golongan : „ , Gol); Writeln(„Status Kawin : „ , Status);
Writeln(„Jumlah Anak : „ , JA); Writeln(„Gaji Pokok : „ , Gapok);
Writeln(„Tunjangan Keluarga : Rp.„ , T_Keluarga:2:0); Writeln(„Tunjangan
Anak : Rp.„ , T_Anak:2:0);
Writeln(„Total Gaji : Rp. „ , Total_Gaji:2:0); Writeln; Write(„Apakan Masih Ada
Data [Y/T] : „); readln(Lagi); Until UPCASE (Lagi)=‟T‟; end.
Kegiatan 3 : Program membalik kalimat.
Penyelesaian
:
Program
membalik_kalimat; Uses crt; Var
I,Panjang:integer;
Kata,Balik:string; Begin Clrscr; Writeln(„Balik Kalimat‟);
Writeln(„-----------------„); Write(„Masukkan Sebuah Kalimat :‟); read(Kata);
Panjang:=Length(Kata); For I:=Panjang Downto 1 do Balik:=Balik+Upcase(Kata[I]);
Writeln(„Hasil Pembalikannya : „,Balik); Readln; End.
Kegiatan 4 : Menghitung nilai perpangkatan dan
nilai factorial.
Penyelesaian
:
Program
perpangkatan; Uses crt; Var
Hasil:real;
I,Pilih,A,X,N:Integer;
Status:Boolean; Begin Repeat Clrscr; Writeln(„1. Pemangkatan 2.
Faktorial 3.Keluar‟); Write(„Masukkan Pilihan Anda : „); Readln(Pilih); Case
Pilh Of 1 : Begin Write(„Masukkan
Sembarang Angka : „); Readln(X); Write(„Akan di pangkatkan berapa : „); Readln(A);
Hasil:=1; For I := 1 to A do Hasil:=X * Hasil; Writeln(„Jadi „, X, „Di pangkatkan „, A,‟ :
„, Hasil:2:0); Status:=False; End; 2 : Begin Write(„Masukkan Sembarang Angka : „); Readln(N);
If N<= 1 Then Hasil:=1
Else Begin Hasil:=1;
For I := 2 To N do Hasil := Hasil * I;
End; Writeln(„Jadi Factorial „ ,
N, „(„, N, „!):‟,Hasil:2:0);
Status:=False; End; 3 : Status
:=True; Else Begin
Writeln(„Pilihan Anda Salah ! „);
Status:=True; End; End;
Readln; Until status; end.
Kegiatan : Buatlah program menggunakan
perintah perulangan untuk menampilkan bilangan ganjil 1 s/d 99.
A. Procedure
Program
Pascal akan menjadi mudah dibuat jika ditulis dalam bentuk modul-modul. Sistem
ini memiliki beberapa keuntungan, diantaranya :
1.
Untuk langkah-langkah yang sering di lakukan (bukan perulangan), akan terhindar
dari pembuatan pernyataan-pernyataan yang sama.
2.
Suatu modul program hanya sekali di tetapkan dan dapat di panggil dari beberapa
tempat dalam progam. Sekumpulan data yang berbeda juga dapat di proses setiap
kali modul tersebut di jalankan.
Dengan
menggunakan sistem modul ini panjang program akan dapat di kurangi. Dalam
pascal terdapat dua tipe modul, yaitu prosedur dan fungsi (procedures and
functions). Hanya cara pemanggilannya berbeda, dan memberikan informasi dengan
cara yang berbeda. Pada praktikum-praktikum sebelumnya telah di gunakan
beberapa prosedur bawaan, misalnya Write, Writeln, Read dan Readln, serta
Fungsi Bawaan, misalnya sqr, dll.
Prosedur
(Procedure) memiliki struktur yang sama dengan struktur program, yaitu terdiri
dari nama prosedur, pengumuman-pengumuman atau deklarasi (kecuali pengumuman
uses), dan bagian utama (pernyataan) dari prosedur tersebut. Di dalam prosedur
juga di mungkinkan terdapat procedure (atau fungsi) lainnya , sehingga dapat di
sebut dengan prosedur berasarang (nested procedures).
Bentuk Prosedure :
Procedure
Nama(Daftar Paramater)
Begin
Deklarasi variable local
Daftar Pernyataan
End;
Fungsi (functions) hampir sama dengan
prosedur, dengan sedikit perbedaan bahwa nama fungsi sekaligus berfungsi
sebagai suatu ungkapan (pada blok pemanggil fungsi tersebut).
Sehingga
setiap fungsi harus di umumkan tipe datanya.
Tujuan Instruksional Umum : Setelah mengikuti mata kuliah ini,
diharapkan mahasiswa mampu membuat program untuk menyelesaikan sejumlah kasus.
Tujuan
Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan
mampu menyusun program menggunakan instruksi procedure dan function.
Instruksi
Procedure dan Function PRAKTIKUM IV
Bentuk
Function :
Function
Nama (Daftar Parameter):Tipe;
Begin
Deklarasi Variabel Local
Daftar Pernyataan
End;
Parameter
: Variabel yang di tempatkan dalam judul procedure/ fungsi untuk menerima nilai
jika ada nilai yang di kirim ke dalam sebuah procedure/fungsi.
g.
Kegiatan Praktikum
Kegiatan
1 : Program untuk mencetak garis dan kalimat menggunakan Procedure.
Penyelesaian
:
Program
Mencetak_Garis_dan_Kalimat; Uses crt; Var
I,Panjang,:Integer; Kata:String;
Procedure Cetak; Begin Writeln(Kata);
End; Procedure Garis; Begin For I:= 1 To
Length (Kata) Do Write(„=‟); End; Begin
Write(„Masukkan Sebuah Kalimat : „); Readln(Kata); Clrscr; Garis; {Memanggil
Prosedure Garis} Writeln; Cetak; {Panggil Prosedure Cetak} Garis; {Panggil
Prosedure Garis} Readkey; {Menunggu menekan tombol di keyboard} End.
Kegiatan 2 : Program menghitung pangkat dan
Faktorial. Penyelesaian : Program Perpangkatan_dan_Faktorial; Uses crt;
Var Hasil:real; I,Pilih,A,X,N:Integer; Status:Boolean; Procedure Pangkat; Begin Write(„Masukkan Sembarang Angka : „); Readln(X);
Write(„Akan Di Pangkatkan Berapa : „);
Readln(A); Hasil:=1; For I := 1 To A Do Hasil:=X * Hasil; Writeln(„Jadi „ , X , „Di Pangkatkan „, A ,‟
: „ ,Hasil:2:0); End; Procedure Faktorial; Begin Write(„Masukkan Sembarang Angka : „); Readln(N);
If N <= 1 Then Hasil:= 1
Else Begin Hasil:=1;
For I :=2 To N Do Hasil:= Hasil * I;
End; Writeln(„Jadi Factorial „ ,
N , „ („, N, „!) : „, Hasil:2:0); End; {Program Utama} Begin Repeat Clrscr;
Writeln(„>>Menu Pilihan<<‟); Writeln(„>>==========<<‟);
Writeln(„1. Pemangkatan „); Writeln(„2. Faktorial „); Writeln(„3. Keluar „);
Writeln(„===============‟); Write(„Pilihan Anda [1,2,3] : „); Readln(Pilih);
Case Pilih of 1 : Begin Pangkat; Status:=False; End; 2 : Begin Faktorial;
Status:=False;
End; 3 : Status := True; Else
Begin Writeln(„Pilihan Anda
Salah ! „); Status:=True; End;
End; Readln; Until Status; End.
Kegiatan-3
: Menghitung Luas dan Keliling Lingkaran dengan Function.
Program
Menghitung_Luas_dan_Keliling_Lingkaran; Uses crt; Const Phi=3.14; Var K,L,R: Real; {K:Keliling, L:Luas,
R:Jari-Jari} Pilih:Integer; Function
Luas (Jari:Real):Real; Begin
Luas:=Phi*Jari*Jari; End; Function Keliling(Jari:real):real; Begin Keliling:=2*Phi*Jari; End; {Program Utama}
Begin Repeat Clrscr; GOTOXY(10,4);
Write(„Masukkan Nilai Jari-Jari Lingkaran : „); GOTOXY(45,4); readln(R);
GOTOXY(10,6); write(„1. Hitung Luas Lingkaran „); GOTOXY(10,7); write(„2.
Hitung Keliling Lingkaran „); GOTOXY(10,8); write(„3. Selesai : „);
GOTOXY(10,9); write(„Pilihan Anda [ ]
„); Repeat GOTOXY(24,9); Readln(Pilih);
Until Pilih In [1,2,3]; Case Pilih Of 1 : Begin
L:=Luas(R); GOTOXY(10,11); Write(„Luas Lingkaran : „); GOTOXY(26,11);
Write(L:2:0); End; 2 : Begin
K:=Keliling(R); GOTOXY(10,11);
Write(„Keliling Lingkaran : „);
GOTOXY(26,11); Write(K:2:0);
End;
End; Readkey; Until Pilh=3; End.
Kegiatan
4 : Buatlah program untuk menyelesaikan kasus-kasus berikut.
Buatlah
program berikut ini dengan menggunakan menu pilihan :
>>>MENU
PILIHAN<<<
===================
1.
Menghitung Luas Persegi Panjang
2.
Menghitung Luas Lingkaran
3.
Menghitung Luas Persegi
4.
Program menghitung Gaji Pegawai
5.
Selesai
Pilihan
Anda [ ]
Keterangan
:
Jika
Pilhan = 1, maka akan memanggil
program menghitung luas persegi panjang dan menampilkan luas persegi panjang.
Jika
Pilhan = 2 , Maka akan memanggil program menghitung luas lingkaran dan menampilkan luas lingkaran.
Jika
Pilihan =3, Maka akan memanggil program menghitung luas persegi dan menampilkan
luas persegi.
Jika
Pilhan = 4, Maka akan memanggil program
menghitung Gaji Pegawai dan menampilkan output seperti pada contoh program
menghitung gaji pegawai yang anda kerjakan sebelumnya.
Jika
Pilihan = 5, maka akan selesai.
A. Larik
Larik
adalah suatu wadah yang di gunakan untuk menampung data yang sejenis.
Berdasarkan dimensi maka larik dapat di kategorikan menjadi 3 jenis yaitu :
1.Vektor (Larik yang berdimensi satu)
2.
Matriks (Larik yang berdimensi dua)
3.
Tensor yaitu matrik berdimensi lebih dari dua.
Pendefinisian
array secara umum adalah sebagai berikut : Jika kita ingin membuat beberapa
array dengan tipe yang sama, maka lebih baik jika kita mendeklarasikan dengan
type selanjutnya dengan deklarasi var dengan bentuk :
Type
Nama_Array=ARRAY[bawah..atas]of tipe_data;
Var
Variabel_Array:Nama_Array;
Atau
dengan menggunakan statement var:
Var
Variable_array:ARRAY[bawah..atas]of tipe_data;
Keterangan
: Bawah dan atas menyatakan batas untuk array. Tipe_data merupakan tipe
variable yang di punyai array(misalkan : Integer,char,real,dsb)
B.
Kegiatan Praktikum
Kegiatan
I.
Program
Menggunakan_Array; Uses crt; Var A:ARRAY[1..10] Of BYTE; Begin A[1]:=10;
A[2]:=25; A[3]:=A[1]+A[2]; Writeln(A[1]); Writeln(A[2]); Writeln(A[3]); End.
Tujuan Instruksional Umum : Setelah mengikuti mata kuliah ini,
diharapkan mahasiswa mampu membuat program untuk menyelesaikan sejumlah kasus.
Tujuan
Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan
mampu menyusun program menggunakan instruksi Vektor.
Larik
Dimensi Satu (Vektor) PRAKTIKUM V
Kegiatan 2. Program menggabungkan 2 buah
Vektor.
Program
menggunakan_vektor; Uses crt; Const N=5; Const M=10; Var A:ARRAY[1..N] Of Integer; B:ARRAY[1..M] Of Integer; C:ARRAY[1..N+M] Of Integer; Indeks,L:Integer; Lagi:Char; Procedure Baca_A; Begin For Indeks:=1 To N Do Begin
GotoXY(5,4);Write(„Elemen Larik A[
] = [ ]‟); GotoXY(20,4);Write(Indeks); GotoXY(24,4);Read(A[Indeks]); End; End; Procedure Baca_B; Begin For Indeks:=1 To M Do Begin
GotoXY(5,5);Write(„Elemen Larik B[
] = [ ]‟); GotoXY(20,5);Write(Indeks); GotoXY(24,5);Read(B[Indeks]); End; End; Procedure Gabung; Begin For Indeks:=1 To N Do C[Indeks]:=A[Indeks]; L:=M+N; For Indeks:=N+1
To L Do C[Indeks] := B[Indeks-N]; End; Procedure Cetak; Begin Clrscr;
Writeln(„>>Isi Vektor A<<‟); For Indeks:=1 To N Do Write
(A[Indeks], „ „); Writeln; Writeln(„>>Isi Vektor B<<‟); For
Indeks:=1 To M Do Write(B[Indeks], „ „);
Writeln; Writeln(„>>Isi Vektor C=Vektor A+Vektor B<<‟); For
Indeks:=1 To N+M Do
Write(C[Indeks], „ „); End; Begin Repeat Clrscr; Baca_A; Baca_B;
Gabung; Cetak; Writeln; Write(„Masih Ada Data [Y/T] : „); Readln(Lagi); Until
UPCASE (Lagi)=‟T‟; End. Kegiatan 3. Mengurutkan Isi Larik
Program
mengurutkan_isi_larik; Uses crt; Const N=6; Var
Data:ARRAY [1..N] Of
Integer; I,J,Temp:Integer; Lagi:Char; Procedure Baca; Begin For I:=1 To
N Do Begin GotoXY(5,4); Write(„Data Ke – [
] = [ ] „);
GotoXY(14,4);Write(I); GotoXY(18,4);Read(Data[I]); End; End; Procedure Sorting;
Begin For I:=1 To N-1 Do Begin
For J:=I+1 To N Do Begin If Data[I] > Data [J] Then Begin
Temp:=Data[I];
Data[I]:=Data[J]; Data[J]:=Temp; End;
End; End; End; Procedure Cetak; Begin For I:=1 To N Do
Write(Data[I], „ „); End; {Program Utama} Begin
Repat Clrscr; Baca; Clrscr; Writeln(„Data Sebelum Di Urutkan‟); Cetak; Sorting;
Writeln; Writeln; Writeln(„Data Setelah Di Urutkan‟); Cetak; Writeln;
Write(„Masih Ada Data [Y/T] : „); Readln(Lagi); Until UPCASE(Lagi)=‟T‟; End.
Kegiatan 4. Program Menghitung Gaji Karyawan
Program
Perhitungan_Gaji_Pegawai; Uses crt; Const N=100; Var JA:Array[1..N] Of Byte; Gapok:Longint; NIK:Array[1..N]; Nama:Array[1..N]; Totalgaji,Tanak,Tkeluarga:real; Gol,Status:Array[1..N] Of Char; Lagi:Char;
I,J,Baris,Jumlah:Integer; Procedure Garis; Begin For J:=1 To 80 Do Write(„-„); End; {Program Utama} Begin
Lagi:=‟Y‟; I:=0; While UPCASE(Lagi)=‟Y‟ Do Begin INC(I);
Clrscr; {Input Data} GotoXY(5,2);
Write(„Entri Identitas Pegawai‟);
GotoXY(5,3); Write(„=================‟);
Pemrograman Terstruktur Jurusan Sistem
Komputer STMIK Bina Bangsa Kendari Di Susun Oleh : Aris Susanto, S.SI
GotoXY(5,4); Write(„No.Induk Karyawan : [ ] „);
GotoXY(25,4); Readln(NIK[I]);
GotoXY(5,50); Write(„Nama Karyawan
: [ ] „); GotoXY(25,5); Readln(Nama[I]); GotoXY(5,6); Write(„Golongan [1/2/3/4] : [
] „); GotoXY(25,6);
Readln(Gol[I]); GotoXY(5,7);
Write(„Status [K/B] : [
] „); GotoXY(25,7); Readln(Status[I]); If UPCASE (Status[I]=‟K‟ Then Begin
GotoXY(5,8); Write(„Jumlah Anak
: [ ]
„); GotoXY(25,8);
Readln(JA[I]); End Else JA[I]:=0; GotoXY(5,10); Write(„Masih Ada Data
[Y/T] : [ ] „);
GotoXY(27,10); Readln(Lagi);
End; Jumlah:=10; {Cetak Laporan} Clrscr;
GotoXY(1,1); Write(„Daftar Gaji Karyawan PT.Maju Mundur „); GotoXY(1,2); Garis; GotoXY(1,3);Write(„ | „); GotoXY(2,3);Write(„No. „); GotoXY(5,3);Write(„ | „); GotoXY(6,3);Write(„N I K „); GotoXY(14,3); Write(„ | „); GotoXY(15,3); Write(„Nama Karyawan „); GotoXY(30,3); Write(„ I „); GotoXY(31,3); Write(„Gol‟); GotoXY(34,3); Write(„ | „); GotoXY(35,3); Write(„Status‟); GotoXY(41,3); Write(„ | „); GotoXY(42,3); Write(„Anak‟); GotoXY(46,3); Write(„ | „); GotoXY(47,3); Write(„ Gapok „); GotoXY(54,3); Write(„ | „); GotoXY(55,3); Write(„ T.Kel „); GotoXY(62,3); Write(„ | „); GotoXY(63,3); Write(„T.Anak‟); GotoXY(69,3); Write(„ | „); GotoXY(70,3); Write(„Total Gaji‟); GotoXY(80,3); Write(„ | „); GotoXY(1,4); Garis; Baris:=4;
For I:=1 To Jumlah Do Begin INC (Baris);
{Mencari Gaji Pokok Berdasarkan Golongan}
If
(Gol[I]=‟1‟) Then Gapok:=500000 Else If
(Gol[I]=‟2‟) Then Gapok:=600000 Else If
(Gol[I]=‟3‟) Then Gapok:=700000 Else
Gapok:=1000000; {Menghitung Tunjangan Keluarga} If Status [I]=‟K‟ Then
Tkeluarga:=10/100*Gapok Else
Tkeluarga:=0; {Menghitung Tunjangan
Anak} If JA[I] > 2 Then
Tanak:=2*Gapok*2/100 Else Tanak:=JA[I]
* Gapok * 2/100;
Totalgaji:=Gapok+Tkeluarga+Tanak;
GotoXY(1,Baris); Write(„ | „);
GotoXY(2,Baris); Write(I);
GotoXY(5,Baris); Write(„ | „);
GotoXY(6,Baris); Write(NIK[I]);
GotoXY(14,Baris); Write(„ | „);
GotoXY(15,Baris); Write(Nama[I]);
GotoXY(30,Baris); Write(„ | „);
GotoXY(31,Baris); Write(Gol[I]);
GotoXY(34,Baris); Write(„ | „); GotoXY(35,Baris);
Write(Status[I]); GotoXY(41,Baris);
Write(„ | „); GotoXY(42,Baris);
Write(JA[I]); GotoXY(46,Baris); Write(„
| „); GotoXY(47,Baris);
Write(Gapok:7); GotoXY(54,Baris);
Write(„ | „); GotoXY(55,Baris);
Write(Tkeluarga:6:0); GotoXY(62,Baris);
Write(„ | „); GotoXY(63,Baris);
Write(Tanak:6:0); GotoXY(69,Baris);
Write(„ | „); GotoXY(70,Baris);
Write(Totalgaji:7:0); GotoXY(80,Baris);
Write(„ | „); If BARIS>22 Then
BARIS:=4; End; GotoXY(1,Baris+1); Garis; Readln; End.
2.7 TIPE-TIPE ALGORITMA BERDASARKAN FORMAT PENULISAN
Penulisan algoritma tidak
ter-ikat pada suatu aturan tertentu, tetapi harus jelas
maksudnya dari suatu penulisan algoritma untuk tiap langkah algoritmanya.
Notasi algoritma bukan merupakan notasi bahasa pemograman, namun notasi ini
dapat diterjemahkan kedalam berbagai bahasa pemograman. Algoritma dapat
dinotasikan dalam beberapa cara, yaitu:
2.8 UNTAIAN KALIMAT DESKRIPTIF (NATURAL)
Algoritma bertipe deskriptif
maksudnya ialah algoritma yang ditulis dalam bahasa manusia seperti
bahasa Indonesia atau bahasa Ingris dan dalam bentuk kalimat.
Notasi ini cocok digunakan untuk algoritma yang pendek, namun untuk
notasinya yang panjang, notasi ini kurang efektif digunakan dan juga
pengkonversian notasi algoritma ke notasi bahasa pemrograman menjadi cenderung
relatif sukar.
2.9 FLOW CHART
(DIAGRAM ALIR)
Diagram alir atau flow chart adalah
bagan menggambarkan urutan
langkah-langkah kegiatan atau program mulai dari awal sampai akhir dengan menggunakan omput
atau gambar tertentu dan dan garis alir. Simbol-simbol yang mewakili
fungsi-fungsi langkah program dan garis alir (flow lines) yang
menunjukkan urutan dari simbol-simbol yang akan dikerjakan. Flowchart lebih baik digunakan dibandingkan
dengan menggunakan pseudocode. Jumlah simbol yang digunakan dalam flowchart
sedikit, karena itu lebih sederhana dan lebih mudah dipelajari.
Dalam pembuatan flowchart program
tidak ada rumus atau patokan yang bersifat mutlak, karena flowchart merupakan gambaran hasil pemikiran dalam
menganalisis suatu masalah dengan omputer sehingga flowchart yang dihasilkan dapat bervariasi antara satu
pemrogram dengan yang lainnya.
2.10 CONTOH PROGRAM ALGORITMA
MENGITUNG NILAI MAHASISWA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
program
menghitung_nilai_mahasiswa;
uses wincrt;
var
nama,grade,ket :
string;
nilai,absen,tm,uts,uas
: integer;
begin
writeln('PROGRAM
MENGHITUNG NILAI MAHASISWA');
writeln('==================================');
writeln;
write('Masukan Nama
Mahasiswa : ');readln(nama);
writeln('=======================');
writeln;
writeln('Masukan
Nilai Mahasiswa');
writeln('=======================');
write('Nilai Absensi
: ');readln(absen);
write('Nilai Tugas
Mandiri : ');readln(tm);
write('Nilai UTS :
');readln(uts);
write('Nilai UAS :
');readln(uas);
nilai := (10*absen +
15*tm + 25*uts + 50*uas) div 100;
if nilai > 85
then
grade:= 'A'
else
if (nilai > 75)
and (nilai < 85) then
grade:= 'B'
else
if (nilai > 65)
and (nilai < 75) then
grade:= 'C'
else
if (nilai > 50)
and (nilai < 65) then
grade:= 'D'
else
if (nilai > 0) and
(nilai < 50) then
grade:= 'E'
else
grade:= 'F';
case nilai of
85..100 :
ket:=('LULUS MEMUASKAN');
75..84 :
ket:=('LULUS BAIK');
65..74 :
ket:=('LULUS CUKUP');
else
ket:=('TIDAK
LULUS');
end;
writeln;
writeln('MAKA
HASILNYA ADALAH :');
writeln('======================');
writeln('Hasil nilai
akhir ' ,nama, ' adalah ' ,nilai);
writeln('Grade yang
didapat adalah ' ,grade, '
maka anda dinyatakan
' ,ket);
writeln;
writeln('==========EDITED
BY : TIAN CHAN==========');
writeln('=========================================');
writeln('TERIMAKASIH
TELAH MENGGUNAKAN PROGRAM INI');
readln;
end.
|
2.12 PERULANGAN WHILE DO PADA PASCAL
Program Project1;
var
nilai: array[1..100] of integer;
jml,n, i,j : integer;
rata: real;
begin
write('msukan banyak data '); readln(n);
i:= 0;
j:=0;
jml:=0;
while n>i do
begin
i:= i + 1;
write('masukan data ke ',i,' : '); readln(nilai[i]);
jml:= jml + nilai[i];
end ;
while n> j do
begin j:= j + 1;
writeln(' data ke ',j,' adalah = ',nilai[j]);
end;
rata:= jml/n;
writeln('total : ',jml);
writeln('rata-rata : ',rata:0:1);
readln;
end.
var
nilai: array[1..100] of integer;
jml,n, i,j : integer;
rata: real;
begin
write('msukan banyak data '); readln(n);
i:= 0;
j:=0;
jml:=0;
while n>i do
begin
i:= i + 1;
write('masukan data ke ',i,' : '); readln(nilai[i]);
jml:= jml + nilai[i];
end ;
while n> j do
begin j:= j + 1;
writeln(' data ke ',j,' adalah = ',nilai[j]);
end;
rata:= jml/n;
writeln('total : ',jml);
writeln('rata-rata : ',rata:0:1);
readln;
end.
2.13 PROGRAM
KALKULATOR
Program rata_rata_kumpulan_nilai;
Uses wincrt;
Var
Banyak_nilai,urutan: integer;
Procedure rata2(a,b:integer);
Var
Nilai:array [1..999] of Integer;
Rata_rata:real;
Jumlah:integer;
Begin
For a:=1 to b do
Begin
Write ('Nilai ke-',a,' = ');readln (nilai[a]);
End;
Jumlah:=0;
For a:=1 to b do
Jumlah:=jumlah+nilai[a];
Rata_rata :=jumlah/5;
Write ('Rata-rata = ', rata_rata:0:2);
End;
Begin
writeln(' Program Menghitung Nilai Rata-Rata');
writeln('==========================================================');
Writeln;
Write ('Banyak nilai yang ingin diratakan = ');readln(banyak_nilai);
Rata2(urutan,banyak_nilai);
readln;
End.
Uses wincrt;
Var
Banyak_nilai,urutan: integer;
Procedure rata2(a,b:integer);
Var
Nilai:array [1..999] of Integer;
Rata_rata:real;
Jumlah:integer;
Begin
For a:=1 to b do
Begin
Write ('Nilai ke-',a,' = ');readln (nilai[a]);
End;
Jumlah:=0;
For a:=1 to b do
Jumlah:=jumlah+nilai[a];
Rata_rata :=jumlah/5;
Write ('Rata-rata = ', rata_rata:0:2);
End;
Begin
writeln(' Program Menghitung Nilai Rata-Rata');
writeln('==========================================================');
Writeln;
Write ('Banyak nilai yang ingin diratakan = ');readln(banyak_nilai);
Rata2(urutan,banyak_nilai);
readln;
End.
BAB III
PENUTUP
3.1 KESIMPULAN
Adapun
kesimpulan yang dapt penulisberikan dari pembahasan materi makalah ini , yaitu:
1) Struktur
dasar algoritma terbagi atas tiga bagian, yaitu runtunan, penyeleksian dan
pengulangan.
2) Notasi
algoritma bukan lah notasi bahasa pemograman tetapi iadapatdi terjemahkan dalam
bahasa pemograman apaun.
3) Notasi
algoritma terbagi atas tiga bentuk, yaitu notasi alamiah, pseudocode dan
flowchar/diagram alir.
4) Struktur
algoritma terdiri dari tiga blok, yaitu bagian judul, deklarasi dan
diskripsi
5) Tipe
data yang sederhana dalam algoritma ialah boolean, bilangan bulat (interger) ,
bilangan real, char dan string.
6) Operator
terdiri dari tiga bagian, yaitu operator aritmatika, operator relasi dan
operator logika.
7) Ekspresi
adalah cara menghitung dalam algoritma yang menghasilkan sebuah nilai.
3.2 SARAN
Adapun saran yang dapat
penulis sampaikan, ialah:
1) Dalam
mempelajari materi algoritma dan pemograman harus lah dipahami secara
menyeluruh dan dalam materi ini kita dituntut untuk berpikir cepat dan kritis
dalam menangani suatu masalah, jadi sering-seringlah berlatih.
2) Dalam
notasi algoritma model yang paling efisien digunakan adalah poseudocode.
https://youtu.be/J_NHWDGbqjM
BalasHapus