Nah pertanyaan tadi adalah pertanyaan paling klasik dari setiap
kita mulai belajar
pemprograman. Ada banyak sekali keluhan saat belajar pemprograman,
sulit!,susah!,ribet!
Dan masih banyak lagi. Apa artinya itu semua apa memang
pemprograman sulit dari sononya.
Gini deh kita liat jauh kebelakang. Yaitu tujuan diciptakannya
komputer. Komputer diciptakan
sebagai alat yang mempermudah dengan struktur yang mudah pula,
bayangin deh dari awal
dibikin sampe sekarang dasar dari komputer masih tetap sama,
komputer Cuma tau 2 nilai ya
atau tidak.sangat simpel kan cara kerja komputer. Nah gimana dengan
bahasa
pemprogramannya. nah karena komputer hanyalah sebatas mesin
dibutuhkan bahasa yang
yang dipake supaya komputer itu ngerti apa yang kita mau.perlu
diketahui bahasa
pemprograman yang ada sekarang itu sudah dibuat jauh lebih mudah
dibanding bahasa
pemprograman sebelum – sebelumnya.
Sampai disini kita udah tau kalo komputer itu mesin yang diciptakan
semudah
mungkin untuk memudahkan pekerjaan manusia. Right?. Jadi apa yang
yang salah kok susah
banget belajarnya, diganti deh apa yang bisa disalahin?. Bner kita
Cuma nyari – nyari alasan
ketika yang kita pelajari itu sulit. Karena semua itu kembali ke
Mindset atau pola pikir kita
dalam mempelajari
Memang dalam belajar pemprograman ini sangat unik, dan jujur sangat
asik, Sumpah!.
Itu dia kunci dari semuanya jangan anggap semua ini adalah beban
kita lepas aja semuanya.
Kita bikin semua ini kayak game. Kalo gak bisa ya tinggal ulang
lagi gampang kan. Tapi semua
game pasti ada aturan – aturannya supaya tetep asik,
nah di pemprograman juga sama,
aturannya gampang kok pertama jangan terlalu fokus ke bahasanya
ingat bahasa itu Cuma
alat. Ibaratnya kita masak ya kan kita tau cara pake alat
– alat masak didapur. TAPI gak punya
resep hayo mau ngapain. Itu sama persis dengan kalo kita lagi
ngodding. Dan itu yang serring
jadi masalah kita terlalu fokus ke kodingannya sampe hapal
mati semua perintahnya. tapi saat
dikasih suatu masalah bingung mau dikodingnya gimana. Nah itu dia
seninya bahasa
pemprograman. Disini dituntut untuk lebih kreatif dan menggunakan
imajinasi. Ingat bahasa
pemprograman beda jauh dengan ilmu matematika.kalo ada orang yang
ngomong
programmer itu harus kuat dimatematika, itu Cuma orang yang
nyari – nyari alasan, karena
Di pemprograman tidak ada sistem hafalan kayak di matematika yang
bikin pusing kkepala.
Tapi di pemprograman yang kita pakai adalah nalar kita, pola
berfikir kita pada suatu
permasalahan dan bagaimana menyelesaikannya. Nah kalo udah siap ayo
kita lanjut ke bab
selanjutnya
Di bab sebelumnya sempat disinggung kalo bahasa pemprograman Cuma
alat,
lengkapnya alat yang dipakai untuk menyampaikan ke komputer supaya
komputer itu ngerti.
Apa yang disampaikan itu cara kita menyusun perintah melalui alat
bahasa pemmprograman
tadi dan bisa dijalankan sama komputer. Dan itulah yang disebut
program. Di bab sebelumnya
juga disebutkan kalo pemprograman sekarang itu jauh lebih
mudah daripada pemprograman
pada masa – masa awal komputer, gimana sih bahasanya ini
contohnya:
1011 0100 0000 0010
B402
Hayo siapa yang tahan ngodding pake perintah bahasa alien gitu?.
Ayo kita bandingkan
dengan bahasa – bahasa tingkat tinggi.
Perintah Bahasa
perintahnya tapi cukup jelas kan perintah tersebut dan cara
penulisannya daripada nulis
angka 0101 gitu hehehe.
INTI ALGORITMA
Diatas adalah alur sakti komputer. Ya diatas adalah langkah
bagaimana komputer
memecahkan masalah, jadi kalau kita ingin memecahkan suatu
permasalahan komputer cara
INPUT PROSES OUTPUT
berfikir kita juga harus diset untuk berpikir seperti komputer
juga. Dan diatas adalah skema
sederhananya. Jadi gini dari input bagaimana kita memprosesnya
itulah yang disebut proses
atau algoritma dan algoritma itu adalah pemecah masalah tersebut.
Contoh gampangnya aja.
Membuat program menghitung keliling persegi. Dengan 1 input yaitu
panjang sisi. Dan
outputnya keliling persegi tadi. Pertanyaannya bagaimana
proses/algoritmannya???.
Cara berpikir kita gini aja. Gimana dengan input bisa keluar jadi
output. Dalam kasus
ini keliling persegi. Yaudah tinggal masukkin aja rumus keliling
persegi di dalam
proses/algoritmanya (keliling=sisi*4).
Kita coba satu lagi deh yang jauh dari matematika. bayangin
Inputnya mie instan
mentah terus outputnya mie yang dipiring siap dimakan, nah gimana
prosesnya. Silahkan
coba sendiri. Dan pastinya setiap mie instan dibungkusnya ada
caranya gimana mie mentah
yang ada didalam bungkus itu bisa jadi siap dimakan. Nah kira -
kira itu yang dinamakan
algoritma.
FLOWCHART
Kalau bikin algoritma dengan cara sebelumnya yaitu berisi
pernyataan – pernyataan.
Takutnya bisa diartikan beda – beda atau ambigu dan
pastinya perlu waktu membacanya.
Nah oleh karena itu dipakailah flowchart tadi. Berikut ini simbol
– simbol standar flowchart.
Berikut adalah penjelasan dari simbol – simbol
diatas
Terminator: menyatakan titik awal dan titik akhir dari sebuah
flochart
Proses: menyatakan sebuah proses contohnya seperti proses
aritmatika
Proses terdefinisi: menyatakan prosedur yang telah dibuat
flowchartnya namun masih dalam
satu program
atau tidak
simbol ini
Contoh flowchart
Diatas adalah flowchart dari algoritma keliling persegi yang
sebelumnya telah dibahas.
Gimana dengan flowchart semuanya jadi kelihatan lebih simpel kan.
Itu dia kegunaan utama
dari flowchart menyederhanakan sebuah algoritma yang terkadang
rumit dan multi tafsir
(ambigu,absurb).
MULAI
Pascal adalah bahasa pemprograman terstruktur diperkenalkan pertama
kali tahun
1971 oleh Prof. Niklaus Wirth. Nah bahasa pascal sering dipakai
untuk pembelajaran karena
perintah – perintah dari bahasa tersebut masih dasar jadi
akan lebih mudah memahaminya
dibandingkan menggunakan bahasa modern seperti sekarang ini karena
sintaks (perintah)
nya telah dikembangkan untuk bermacam - macam keperluan.
bahasa pascal program utama berada antara “begin” dan “end.” Dalam
bahasa Pascal
juga tidak diterapkan case sensitve artinya huruf kapital
maupun huruf kecil oleh pascal di
anggap karakter yang sama (Contoh A Sama dengan a).
Kemudian pascal juga dalam
menerjemahkan perintah yang ditulis tidak berdasarkan baris
melainkan berdasarkan
perintah nah supaya perintah satu dengan yang lain tidak saling
bertabrakan digunakanlah
tanda titik koma disetiap akhir dari perintahnya.
MUL I H RI SEB G I PROGR MMER
Nah setelah kita tahu banyak tentang bahasa pascal sekarang
waktunya mencicipi
bahasa pascal tadi dengan mencoba membuat sebuah program.
F
Diatas adalah contoh program sederhana yang berfungsi untuk
menampilkan teks. Menggunakan
perintah writeln(); sebenarnya ada lagi satu perintah untuk
menampilkan teks yaitu write(); bedanya dengan
writeln kalo writeln setiap perintahnya akan menampilkan teks pada
garis baru sedangkan write akan
menampilkan teks pada garis semula.untuk memahami lebih jelas
perbedaanya silahkan dicoba modifikasi
sintaks diatas dengan merubah writeln(); menjadi write();.
Karena writeln berfungsi untuk menampilkan teks
pada garis baru jadi writeln juga bisa digunakan untuk memberi
jarak antara dua baris teks (satu ENTER lah
istilah gampangnya). Untuk mencoba silahkan sisipkan kode writeln;
diantara dua writeln diatas
; Jangan Lupa
Perkenalkan:
LANJUT...
Setelah tadi nyoba codding sederhana sekarang kita coba lagi,
dengan ditambahkan
kemampuan input didalam programnya
Diatas adalah source program sederhana dimana terdapat satu
variabel (nama) bertipe string untuk
menyimpan inputan yang kemudian ditampilkan kembali kemudian ada
juga perintah clrscr; ini berfungsi untuk
mengosongkan atau menghapus semua teks pada layar.
COBA YANG LEBIH SERU
Codding sebelumnya adalah contoh program sederhana yang cuma
menggunakan
input dan output yaitu menginput dan kemudian menampilkan teks. Nah
sekarang ayo kita
coba yang lebih seru dengan menyertakan “input – proses
– output” pasti asik. Contoh
program dibawah ini adalah mencari rata – rata dari 3
buah bilangan.
Diatas adalah sebuah program pemprosesan data lengkap yaitu berisi
input proses output. Perintah –
perintahnya hampir sama dengan program sebelumnya yaitu menginput
data kedalam sebua variabel dalam hal
ini variabelnya adalah angka1,angka2, dan angka3 bertipe integer.
Perbedaanya dari variabel – variabel tersebut
diproses dulu yaitu merata2kanya dan memasukkannya kedalam variabel
hasil, sehingga yang di output adalah
variabel hasil tadi.
Gimana rasanya jadi programmer? Seru?. Oke sampai disini dari
ketiga contoh
program diatas apa ada hal yang kurang dipahami?.
Kalo udah ngerti ketiga program diatas ayo kita Lanjut.
Uses crt; Var
Begin write(‘masukkan angka 1 : ’); readln(angka1);
write(‘masukkan angka 2 : ’); readln(angka2);
write(‘masukkan angka 3 : ’); readln(angka3); hasil :=
(angka1+angka2+angka3)/3; writeln(“hasilnya adalah”);writeln(hasil
:0:2);
End.
Uses crt; Var
nama : string; Begin
writeln(“Selamat datang ”);writeln(hasil :0:2); End.
Variabel
Variabel dalam program adalah sebuah nama yang dipakai untuk
menyimpan nilai.
Data yang disimpan tidi juga bersifat dinamis artinya bisa diubah
– ubah isinya sesuai
kebutuhan saat program berjalan. Variabel juga bersifat sementara
artinya nilai didalam
variabel hanya akan disimpan selama program berjalan, tetapi saat
program di close nilai
variabelnya juga akan hilang. Cara memasukkan nilai kedalam
variabel oleh program ada dua
cara yaitu melalui input (readln,readkey ) atau dengan
deklarasi (contoh:namavariabel := 1).
Ada beberapa ketentuan dalam menentukan nama variabel yang perlu
diperhatikan. Untuk
lebih jelasnya ayo kita liat contoh – contoh dibawah
ini
MENGENAL BERBAGAI MACAM TIPE DATA
Sebelumnya udah dijelaskan bahwa variabel adalah tempat untuk
menampung
nilai/data dalam program. Nah bahasa Pascal menyediakan berbagai
tipe data yang akan
disimpan kedalam variabel.
Tipe Bilangan Bulat
Byte 0 .. 255
Shortint -128 .. 127
Smallint -32768 .. 32767
Word 0 .. 65535
writelnn
writeln
Boolean True dan False (benar dan salah)
Banyak banget ya. Tenang aja gak harus kok ngapalin semua tipe data
diatas. Cukup
diketahui aja kalo tipe data itu ada macem – macem dan
buanyak... nah tapi dibawah ini
adalah beberapa tipe data yang sering digunakan dalam pemprograman
pascal.
INTEGER Untuk Bilangan
REAL Untuk bilangan Desimal
CHAR Untuk Satu karakter
BOOLEAN Untuk logika (benar/salah)
Cukup Enam Tipe data diatas saja yang perlu dipahami untuk
digunakan di dalam
pemprograman. Simpel kan.
Sebelum bisa digunakan didalam Program Variabel harus
dideklarasikan dulu. Untuk
pendeklarasian dalam pascal ditulis diluar program utama (begin -
end.) tepatnya diatas begin
dan menulis var diatas variabel-variabel yang dideklarasikan. Dan
dalam penulisan deklarasi
variabelnya yaitu :
namavariabel : tipeData;
untuk contohnya bisa dilihat di program yang sebelumnya kita buat.
Gampang aja kok
Pada bab sebelumnya telah dijelaskan bahwa komputer pada dasarnya
adalah alat /
mesin logika. Karena itu di dalam pemprograman logika juga menjadi
bagian yang sangat
penting jika ditemukan sebuah masalah yang membutuhkan pengambilan
keputusan dari
beberapa pilihan.
Dalam pascal ada dua jenis seleksi kondisi
IF adalah salah satu perintah seleksi / logika dalam pascal.
Sebenarnya konsepnya
sangat simpel. Sebuah perintah dilaksanakan jika sebuah
kondisi atau persyaratan terpenuhi.
Ayo kita mulai dari yang paling sederhana
Pernyataan if
Pernyataan if akan menyeleksi sebuah peerintah yang akan dikerjakan
apabila kondisi
bernilai benar sedangkan jika kondisi bernilai salah, maka perintah
tersebut tidak akan
dijalankan. Satu hal yang perlu diperhatikan dalam penggunaan if
jika perintah nya lebih dari
satu maka harus ditulis diantara begin..end;. supaya lebih jelas
mungkin langsung aja ke
contoh coddingnya.
write(‘nilai anda : ’); readln(nilai);
if(nilai > 60) then begin writeln(“Selamat anda lulus”);
writeln(“dengan nilai ”,nilai); end;
End.
Dicodding diatas adalah penggunaan seleksi if. Pertama dilakukan
input kedalam variabel nilai. Lalu
dibuat seleksi kondisi if dengan logika selama variable nilai (yang
tadi diinput), berisi nilai yang lebih besar dari
60 maka akan dijalankan 2 perintah yaitu pertama mencetak teks
selamat anda lulus dan kedua teks dengan
nilai [variabel nilai].
Pernyataan If..else
Masih sama-sama if juga tapi disini diakhirnya dikasih else.sebagai
contoh kalau
seperti codding sebelumnya jika kondisinya bernilai salah maka akan
tidak dijalankan begitu
saja nah dengan adanya perintah else ini jika kondisinya tidak
terpenuhi maka akan dijalankan
perintah yang berada didalam else.satu hal dalam penggunaan else
yaitu perintah yang ditulis
persis sebelum else harus tidak menggunakan titik koma. ayo ke
codding lagi untuk lebih
jelasnya.
Masih sama dengan codding sebelumnya tapi kali ini ditambahkan
perintah else
supaya ketika pernyataan if bernilai salah (dalam hal ini
nilai tidak lebih besar dari 60) maka
bisa dijalankan perintah lainnya dalam coding diatas digunakan
perintah menampilkan teks
Maaf anda harus mengulang tahun depan
Pernyataan If..else if
Sebelumnya udah dijelasin if berguna untuk menyeleksi berbagai
perintah –
perintah yang membutuhkan keputusan dan pada coding diatas adalah
contoh dimana
memilih antara 2 keputusan yaitu lebih besar dari 60 atau tidak.
Tapi sering ditemukan
Bahas codding
end else
Nilai anda : 59
Misal nilai diisi 59
permasalahan yang lebih kompleks yaitu keputusan yang diambil lebih
dari 2. Maka untuk
nyelesaikan masalah semacam itu bisa digunakan perintah else if.
Jadi hampir sama dengan
else tapi ditambahkan seleksi kondisinya. Hampir sama dengan else
yang perlu diperhatikan
yaitu setiap menuliskan perintah else if perintah sebelumnya harus
tidak menggunakan ttik
koma. Untuk lebih jelasnya kita langsung ke contoh codding.
Codding kali ini memang agak panjang. Tapi kalau dipehatikan
coddingnya hanya mengulang – ulang
perintah yang sama hanya ada sedikit perubahan disetiap
perintah2nya. Masih memakai konsep program
sebelumnya yaitu program nilai. Tetapi program ini jauh lebih
lengkap kemampuannya. Dengan menggunakan
else if keputusan yang diambil bisa jauh lebih banyak. Dari codding
yang panjang ini sebenarnya hanya simpel
saja yaitu menyeleksi dari nilai yang diinput sebelumnya pertama
menyeleksi apakah nilai < 40 jika benar maka
perintah dibawahnya yang akan dijalankan tapi jika bernilai salah
akan lanjut menyeleksi ke elseif selanjutnya,
begitu terus menerus sampai else if terakhir jika masih bernilai
salah maka yang dijalankan adalah perintah di
else.
if(nilai < 40) then begin
end else if (nilai < 60) then
begin writeln('Nilai anda D'); writeln('Maaf anda harus mengulang
tahun depan');
end else if (nilai < 70) then
begin writeln('Nilai anda C'); writeln('Selamat anda lulus');
end else if (nilai < 90) then
begin writeln('Nilai anda B'); writeln('Selamat anda lulus');
end else if (nilai <= 100) then
begin writeln('Nilai anda A'); writeln('Selamat anda lulus');
end else
Nilai anda : 80
Nilai anda B
Selamat anda lulus
Sebelumnya kita telah mempelajari seleksi kondisi IF. Yang
mempunyai struktur
sangat fleksibel untuk menyeleksi berdasarkan sebuah logika. Tapi
juga ditemukan
permasalahan logika yang berdasarkan range (jarak)
nilai – nilai. Jika dikerjakan menggunakan
if akan terjadi code yang sangat panjang, persis sepeti contoh
codding terakhir di halaman
sebelumnya.Oleh karena itu dibutuhkan sebuah struktur yang lebih
“khusus” untuk
melakukan tugas seperti ini. Lalu CASE OF datang untuk melakukan
tugas tersebut. Untuk
membuktikan efektifnya CASE OF ini ayo kita coba rubah codding
sebelunya menjadi
menggunakan case of.
Luar biasa kan?. Dengan case of codenya menjadi sangat pendek dan
lebih praktis
karena range(jarak) nilai-nilainya ditulis langsung. Dan
menghasilkan yang sama dengan yang
dilakukan if. Tapi case ini punya kekurangan yaitu Cuma bisa untuk
logika semacam ini
selebihnya case tidak bisa dan harus dilakukan oleh if.
CASE OF
91..100: writeln(' nilai anda A(lulus)'); 71..90 : writeln(' nilai
anda B(lulus)'); 61..70 : writeln(' nilai anda C(lulus)'); 41..60 :
writeln(' nilai anda D(tidak lulus)'); 0..40 : writeln(' nilai anda
E(tidak lulus)'); else
writeln('Maaf data yang anda masukkan salah'); end; readln;
end.
Pada bab- bab sebelumnya kita sudah mempelajari berbagai perintah
pemprograman.
Nah tapi bagaimana jika kita dihadapkan pada suatu masalah yang
harus melakukan hal yang
sama secara berulang ulang dalam jumlah besar. Contoh gampangnya
saja untuk menulis
angka secara berurutan, mungkin jika hanya 1-5 itu mudah hanya
menggunakan writeln 5 kali
bisa beres tapi bagaimana kalau dimina menulis angka 1-1000 apakah
sanggup menggunakan
writeln hingga 1000x Pasti kan itu akan menjadi hal yang sangat
membosankan dan yang
pastinya capek banget. Untuk mengefisienkan hal tersebut kita bisa
menggunakan
perulangan. Dalam pascal sendiri menyediakan 3 jenis perulangan
yaitu for,while dan repeat
yang memiliki struktur dan cara penggunaan yang
berbeda – beda tapi untuk kemampuannya
relatif sama. Mari kita mulai satu persatu
Perulangan for
Yang pertama akan kita bahas adalah Perintah for yang dalam
penggunaanya
menggunakan 2 nilai yaitu sebagai titik awal dan titik akhir dalam
membuat sebuah
perulangan. Dan salah satu dari nilai tersebut harus dimuat kedalam
sebuah variabel integer.
Kemudian for juga ada 2 jenis for postitif (for..to..do) dan for
negatif(for..downto..do)Supaya
lebih jelas kita ke contoh codding.
uses crt;
begin write('Nomor: '); writeln(i);
end; readkey; End.
begin write('Nomor: '); writeln(i);
end; readkey; End.
...
Diatas adalah contoh sederhana penggunaan dua jenis for. Dari kedua
jenis for diatas kesimpulan
gampangnya adalah for positif adalah perulangan for yang setiap
sekali perulangannya nilainya ditambahkan +1
sebaliknya kalau perulangan negatif ditambah -1. Setiap nilai awal
dari perulangan for harus dimasukkan
kedalam variabel ini gunanya jika dalam perintah didalam
perulangannya bisa menggunakan variabel tersebut
untuk menghasilkan sebuah angka – angka yang urut. Persis
seperti yang kita lakukan di contoh codding diatas
Perulangan while
Selanjutnya kita belajar struktur perulangan while(selama). Berbeda
dengan for while
hanya menggunakan 1 nlai yang menjadi logika dari kondisi nilai
tersebut. Jadi “selama” nilai
tersebut bernilai benar maka perulangan akan terus dilakukan. While
memiliki satu
kekurangan kalau dibandingkan for, yaitu tidak ada nilai yang
secara otomatis membentuk
sebuah angka yang berurutan seperti dalam for. Tapi kalau ingin
menggunakannya dalam
while kita harus melakukannya sendiri secara manual. Ayo kita ke
contoh coddingnya supaya
lebih jelas.
Mari kita kupas satu persatu perintah – perintah dalam
perulangan while. pertama dideklarasikan
variabel bernama i bertipe integer. Kemudian masuk ke program
utama, karena kita ingin menghasilkan sebuah
nilai angka yang diawali dengan angka 1 maka nilai i nya diisi
dengan angka 1, melalui perintah i:=1; selanjutnya
masuk ke perulangan whilenya pertama tama yang dilakukan oleh while
adalah menyeleksi logika apakah i lebih
kecil dari 10 karena i berisi 1 maka benar 1 lebih kecil sama
dengan dari 10 maka perintah didalam perulangan
dijalankan pertama perintah menulis ‘nomor’ dilayar kemudian
menulis variabel i (berisi 1). Maka dihasilkan teks
nomor : 1. Selanjutnya perintah menambahkan i secara manual
perintahnya adalah i:=i+1. Karena i berisi 2 maka
i:=1+1=2 jadi i sekarang berisi 2 atau bisa juga supaya gak ribet
perintah itu dipersingkat menjadi inc(i); hasilnya
sama aja. Karena ini perulangan maka setelah end; balik lagi
keatas(while) untuk menyeleksi apakah i <= 10
karena i=2 maka benar 2<=10 dan perintah – peritah
tadi dijalankan kembali berulang – ulang hingga
akhirnya
sampai dengan i berisi nilai 11 dan diseleksi oleh while apakah 11
<= 10 karena 11 lebih kecil sama dengan 10
bernilai salah maka perulangan berhenti sampai disitu.
Nah itu tadi kita melakukan sebuah perulangan seperti pada
perulangan for positif nah bagaimana kalau
mau membuat program diatas menjadi seperti perulangan for negatif
caranya cukup mudah hanya mengganti
perintah i:=i+1; jadi i:=i-1; atau dec(i); dan logika whilenya juga
dibalik jadi while i >= 1.
Bahas codding
uses crt;
begin write('Nomor: '); writeln(i); i:=i+1; {bisa juga pake
inc(i);}
end; readkey; End.
Perulangan Repeat until
Terakhir kita akan membahas perulangan repeat until. Repeat until
ini agak mirip
dengan perulangan while dan memiliki satu nilai sebagai logika
kondisi juga. bedanya kalau
while perulangan akan dijalankan selama nilai itu bernilai benar
kalau repeat malah
sebaliknya perulangan akan terus dijalankan dan sampai nilainya
bernilai benar baru akan
berhenti. Untuk penempatan struktur codenya repeat agak berbeda
dengan while. Di repeat
nilai yang menjadi acuan logika tersebut ditempatkan dibawah
setelah end; jadi diawalnya
hanya ada perintah repeat, mungkin supaya lebih jelas langsung ke
contoh coddingnya aja
kali ya.
Dari code diatas sangat mirip dari perulangan while sebelumnya.
Mari kita kupas satu persatu lagi
perintahnnya. Pertama deklarasi variabel i bertipe integer. Masuk
ke program utama. Mengisi variabel i dengan
nilai 1. Masuk ke perulangan repeat, lalu menjalankan perintah
mencetak teks nomor : dan variabel i. Dan juga
perintah untuk menambahkan nilai i, terakhir seleksi kondisi untuk
menghentikan perulangannya, yaitu i=10
karena i sekarang bernilai 2. Maka kondisinya bernilai salah jadi
perulangan dilanjutkan keatas lagi. Dan terus
menerus sampai akhirnya i nya bernilai 10 dan kondisinya bernilai
benar baru perulangannnya berhenti.
uses crt;
begin write('Nomor: '); writeln(i); i:=i+1; {bisa juga pake
inc(i);}
end; until i = 10; readkey; End.
Nomor: 1
Nomor: 2
Nomor: 3
Tentang bab ini
Apa yang sekilas mucul dipikiran kalo baca judul bab ini. Tipe data
buatan? Tenang aja
kita gak bakal kayak kurang kerjaan kok bikin tipe data baru.
Karena tipe data yang ada dalam
pascal ini sudah cukup banyak dan mencakup semua yang diperlukan
dalam pemprograman.
Nah tipe data buatan ini sebenarnya cuma pengembangan dari dari
tipe data yang sudah ada.
Kenapa?. Karena dengan tipe data yang sudah ada ini memang mencakup
semua tapi di
beberapa program yang kompleks tipe data yang ada dirasa kurang
efektif. Karena satu
variabel Cuma bisa menampung satu nilai. Nah gimana kalau untuk
membuat program yang
mendata beberapa orang misalnya. Apakah setiap data orang yang
ingiin diinput datanya
harus dibuat satu variabel, dalam pascal dan bahasa pemprograman
lainnya bisa
menggunakan array untuk menyelesaikan masalah tersebut karena array
bisa membuat satu
variabel bisa menampung banyak nilai. Kemudian
data – data tiap orang gak Cuma satu ada
nama,alamat,TTL,dll. Sebenarnya itu gak masalah karena tiap data
datanya dibuat di array
beres. Tapi ada yang pengen programnya lebih tertata rapi, apalagi
kalo programnya
membutuhkan data – data yang banyak, yang takutnya agak
sulit mengaturnya dan
ditakutkan data yang satu dengan yang lain tercampur maka bisa
menggunakan record.
ARRAY
Konsep dasar dari array adalah memperbesar kapasitas dari satu
variabel yang
biasanya hanya mampu menampung satu nilai saja menjadi bisa
menampung banyak nilai.
Dan cara kerjanya seperti rak jadi memerlukan koordinat dari nilai
array tadi. Ayo kita coba
mendeklarasikan variabel bertipe array.
Diatas adalah contoh pendeklarasian variabel bernama angka dengan
array yang
berkapasitas 100 nilai yang bisa diisi oleh tipe data integer.
Dalam variabel array untuk
perintah input maupun output harus menyertakan nilai indexnya
supaya membedakan posisi
dari nilai tersebut misalnya angka[2]:= 54; atau
writeln(angka[2]);. Kira – kira seperti itu
penggunaan array. Contoh diatas adalah penggunaan array 1 dimensi
sebenarnya array juga
bisa menggunakan array lebih dari satu dimensi
Var Angka : array[1..100] of integer
contoh:
dengan array dua dimensi diatas kapasitas yang bisa ditampung akan
menjadi jauh
lebih besar dari array satu dimensi. Tapi pemanggilannya juga harus
menggunakan dua
indeks. Contoh penggunaan matriks 2 dimensi ini adalah pada program
matriks. Mari kita
coba contoh coddingnya.
Mungkin kelihatannya codding diatas sangat panjang. Tapi ayo kita
kupas satu persatu perintahnya. Pertama
mendeklarasikan variabel bernama a bertipe array 2 dimensi masing
masing berkapasitas 4 nilai (1-4) yang berisi
tipe data integer. Kemudian variabel baris dan kolom bertipe data
integer. Selanjutnya kita masuk ke program
utama pertama kita disuguhi sebuah perulangan for dengan nilai
kolom = 1 sampai 3. Didalam for ketemu lagi
for dengan variabel kolom = 1 sampai 3. Didalamnya adaperintah
menuliskan kolom dan baris. Kemudian
perintah untuk menginput kedalam array berdasarkan baris dan kolom
tadi. Selanjutnya ada perintah writeln
yang berguna untuk membuat jarak antara teks. Oke itu adalah
perintah untuk menginput nilai kedalam array.
Selanjutnya kita akan menampilkan aray – array tersebut.
Perintahnya hampir sama dengan proses input yaitu
dengan perulangan for berisi variabel baris = 1 sampai 3 dan
didalamnya ada perulangan for dengan variabel
kolom= 1 sampai 3, nah didalam perulangan ini terdapat perintah
untuk menampilkan array dengan indeks
baris dan kolom sesuai perulangan. Kemudian ada satu lagi perintah
menampilkan teks yang berisi satu spasi ini
bertujuan supaya nilai antara kolom satu dengan yang lainnya tidak
saling dempetan. Kemudian ada lagi perintah
witeln yang berguna membuat jarak antara baris satu dengan baris
selanjutnya sehingga terbentuk sebuah
matriks.
uses wincrt; var a:Array[1..4,1..4] of integer;
baris,kolom:integer;
begin
for baris:=1 to 3 do begin for kolom:=1 to 3 do
begin write('[',baris,',',kolom,'] =
');readln(a[baris,kolom]);
for baris:=1 to baris do begin
for kolom:=1 to kolom do begin
write(a[baris,kolom]); write(' '); end;
Nah itu adalah contoh dari penggunaan array dua dimensi dan
diaplikasikan pada sebuah
matriks. Selain dua dimensi array masih bisa ditamah lagi menjdai
dimensi – dimensi yang
lebih banyak lagi sesuai kebutuhan. Mungkin sampai disini ada yang
masih bingung tentang
array?. Jika udah ngerti semua kita lanjut ke pembahasan
selanjutnya.
RECORD
Tipe data bentukan selanjutnya adalah record. Record tingkatannya
lebih tinggi dibandingkan tipe data array maksudnya gini record
bisa juga berisi tipe data array. Kemudian record juga tidak
mempunyai kemampuan khusus seperti memperbesar kapasitas variabel
seperti array(kecuali record yang berisi array, itu lain
ceritanya), jadi record ini lebih mengelompokan sebuah tipe data
agar lebith terstruktur dan rapi apalagi kalau program yang dibuat
memerlukan pendeklarasian variabel tanpa record pasti terlihat
berantakan dan bisa saja akan binggung saat menggunakannya saking
banyaknya. Oleh karena itu untuk menghindari hal itu dibuatlah tipe
data buatan record untuk merapikannya.berikut struktur penggunaan
record
Jadi pertama pendeklarasian recordnya ditempaktkan pada type dengan
menulis
namarecord=record; kemudian variabel – variabel bentukan
yang ingin dimasukan kedalam
record lengkap dengan tipedatanya. Kemudian pada variabel
dideklarasikan dengan tipe data
record tadi. Mungkin supaya lebih jelas kita ke contoh
codding.
type nama_record = record identifier_1 : tipe_data_1; identifier_2
: tipe_data_2; . . identifier_n : tipe_data_n;
end; var
variabel : nama_record;
End;
End.
Diatas adalah contoh sederhana penggunaan record pada sebuah
program data buku. Jadi pada
program ini gunanya record mengelompokan data – data
yang berhubungan dengan buku (pada program ini
judul,penulis dan harga). Dan dibuat dalam record bernama
buku. Kemudian pada pendeklarasian variabelnya
menggunakan tipe data record tadi. Masuk ke program utama pertama
adalah perintah untuk menginput judul
buku, penulis serta harga buku ke delam tipe data record. Dengan
sebelumnya diberi keterangan dengan
perintah write sebagai keterangan dari data yang ingin diinputkan.
Kemudian ada perintah clrscr; atau clear
screen yaitu perintah untuk menghapus semua teks yang ada dilayar.
Perintah selanjutnya adalah menampilkan
kembali apa yang berada didalam tipe data record yaitu
judul,penulis dan harga. Mudah aja kan penggunaan
record ini. Nah kalau diperhatikan penulisan variabel untuk tipe
data record ini yaitu variabel.tipedata_record.
Kalau dirasa panjang karena kita akan terus menulis
variabel – variabel yang sama. Ada triknya untuk
mengatasi
proses nulis – nulis variabel yang sama terus gitu bisa
menggunakan with namavariabel do. Diantara
perintah –
perintah yang menggunakan variable yang sama, dengan menggunakan
begin end sebagai pembatasnya.
Bahas codding
Tentang bab ini
Pada bab ini kita akan mempelajari sub program. Atau program yang
ada didalam
program. Bingung ya?. Jadi gini pada program – program
yang rumit khususnya akan menjadi
sulit untuk dipahami alurnya bahkan oleh progammernya itu sendiri.
Karena saking
banyaknya sintaks yang dipakai. Nah sub program berguna untuk
mengatasi itu jadi program
– program yang panjang tadi dipecah – pecah
kedalam beberapa bagian didalam program dan
di program utamanya hanya memanggil nama sub programnya tadi
tujuannya supaya lebih
mudah dipahami alurnya dan program jadi punya struktur yang lebih
jelas. Keuntungannya
sub program yang lain adalah sub program bisa dipanggil beberapa
kali. Jadi bisa menghemat
waktu ngetik sintaksnya. Jadi kalo ditemukan sintaks program yang
harus mengetik perintah
– perintah yang sama berulang – ulang ya
tinggal dibuat subprogramnya.
yah kira – kira konsep dari subprogram itu seperti
itu.
Prosedur(PROCEDURE)
gampang kira – kira struktur prosedur seperti ini
Simpel kan ?. nah itu adalah struktur penggunaan prosedur. Dan
perintah itu ditulis sebelum
program utama dan jika ingin memakai sub program itu tinggal tulis
nama prosedurnya.
Mungkin supaya lebih jelas langsung ke contoh coddingnya.
Procedure nama_prosedur; Begin
Uses crt; Procedure statusiasi; begin
writeln(‘ Nama Saya Vicki'); writeln(‘ 29 my age ');
writeln(‘ Saya sedang belajar Porcedure');
end;
Enak aja kan prosedur. Nah simpel aja kok.coba kita kupas satu
– satu kodingnya diatas. Jadi pertama
dideklarasikan prosedur dengan nama statusiasi. Dan berisi beberapa
perintah untuk menampilkan teks. Lalu
kemudian pada program utama tingggal di panggil nama
prosedurnya.
Oke disini kelihatannya materinya kurang seru yah Cuma gini doang.
karena itu kita
akan bermain dengan prosedur ini lebih dalam supaya lebih seru lah.
Prosedur adalah sebuah
sub program atau program didalam program, bener kan?. Karena
dia program, prosedur juga
mempunyai kemampuan layaknya program utama yaitu membuat
variabelnya atau disebut
lokal variabel.penulisannya juga hampir sama dengan program utama
yaitu sebelum begin
dari prosedur. Tapi variabel ini hanya bisa digunakan pada prosedur
itu saja. Supaya lebih jelas
kita ke codding.
Nah diatas adalah program yang mirip seperti program sebelumnya
tapi ditambahkan proses input dan
menggunakan local variabel. Masih gampang ya kan. Pemakaian lokal
variabel ini gunanya sama dengan
penggunaan prosedur. Supaya programnya lebih tertata jadi gak
numpuk variabel yang banyak banget di
variabel utama.
Masih ada satu lagi yang bisa kita eksplor dari prosedur ini yaitu.
Prosedur yang
menggunakan parameter. Parameter ini gunanya untuk membuat prosedur
jauh lebih
fleksibel. Kalo sebelumnya kita tau kalo prosedur Cuma dipakai
untuk mempersingkat
penulisan sintaks yang diulang – ulang dan itu pun
harus sama persis kan. Nah kalau
menggunakan parameter ini prosedur akan bersifat sebagai rumus.
Jadi outputnya
tergantung inputnya juga. Bingung ya oke deh kita ke koding aja
kalo gitu supaya jelas.
Bahas codding
begin write(‘ Nama :');readln(‘nama’); write(‘ Umur
:'); readln(‘umur’);
end;
end;
readkey; end.
Diatas adalah contoh program sederhana yang pergunakan parameter.
Jadi didalam prosedurnya isinya
Cuma rumus aja dan nilai inputannya langsung saat prosedur itu
dipanggil bukan dalam prosedurnya, seperti
program yang sebelumnya. Ini lebih dinamis karena kita bebas
mengisi nilai parameter tersebut.
Sampai disini kita udah nguasain materi tentang prosedur. Sebelum
kita lanjut ke
pembahasan selanjutnya silahkan tanyakan jika ada yang dirasa masih
membingungkan.
FunGSI(FUNCTION)
Sekarang kita akan mempelajari satu lagi sub program dalam pascal
yaitu Function.
Function ini cara kerja dan juga penggunaannya juga hampir sama
dengan prosedur. Yang
membedakan antara fungsi dengan prosedur adalah function bisa diisi
sebuah nilai layaknya
variabel dan juga punya tipe datanya sendiri. Untuk lebih jelasnya
kita liat struktur
penggunaan fungsi
yang membedakan fungsi dan prosedur ini hanya ruang lingkup
penggunaanya. Fungsi ini
digunakan untuk sub program yang membutuhkan rumus, walaupun
prosedur juga bisa
melakukan hal yang sama tapi karena fungsi mempunyai nilai balik,
maka prosesnya akan
lebih efisien menggunakan fungsi. Mari kita coba kedalam contoh
koddingnya.
Hampir mirip lah sama prosedur, mungkin bedanya seperti yang
dijelaskan sebelumnya yaitu
function ini punya kapasitas untuk menyimpan nilai. Dan biasanya
function ini hanya berisi rumus – rumus
yang menggunakan nilia function tadi sebagai tempat untuk menampung
hasil dari rumus tadi seperti yang
ada pada contoh diatas. Kemudian karena local variabel tidak bisa
digunakan pada program utama maka
dibuat juga variabel untuk digunakan pada program utama (a dan t
bertipe integer). Sebagai variabel yang
menampung nilai input dari rumus yaitu alas dan tinggi.
Selanjutnya, nah ini yang membedaka antara fungsi
uses wincrt;
var a,t:integer;
readkey; end.
Bahas codding
{perintah-perintah sub program} End;
dan prosedur. Disini fungsi bisa langsung dimasukkan dalam perintah
tampil(write) tentu beserta
parameternya. Maka akan langsung bisa ditampilkan nilai balik dari
fungsi nya tadi yang di sub programnya
melalui rumus (luassegitiga:= alas*tinggi/2).
Tentang bab ini
Ini adalah bab terakhir dalam modul ini. Biasanya bab terakhir
adalah materi yang
paling sulit kan. Tapi tenang aja. Bab ini akan jadi bab paling
asik diantara bab – bab
sebelumnya.
Ada yang bilang kalau pascal adalah bahasa pemprograman kuno yang
saat ini udah
ketinggalan zaman. CIUS?. Kita akan coba mengeksplor kemampuan luar
biasa yang terdapat
didalam pascal, yang kita akan sama – sama coba
membuktikan kalau pascal gak kalah kok
sama bahasa – bahasa pemprograman yang populer sekarang.
Bahkan kita juga akan coba
mempercantik tampilan program pascal. Menjadi lebih user friendly
bahkan mendekati
seperti tampilan pada pemprograman berbasis visual seperti
VB.
Menghentikan waktu di pascal
Perogram pascal yang mempunyai struktur sederhana pasti akan dengan
mudah di proses
oleh procesor jaman sekarang. Dan waktu pemprosesannya hampir tidak
terlihat karena
sebuah perintah dapat dijalankan dengan sekejap mata. Nah tapi
dalam berbagai hal dan
kebutuhan diperlukan adanya jeda waktu antara perintah dengan
perintah selanjutnya.
Seperti contohnya untuk mengetahui kesalahan sebuah program, untuk
membuat efek
animasi tampilan dll, untuk melakukan hal tersebut dipascal kkita
bisa menggunakan perintah
delay(); dan diisi dengan lamanya waktu yang ingin dihentikan dalam
satuan miliseconnd
atau 1/1000 detik. Untuk lebih jelas penggunaan delay ini langsung
aja ke contoh koding.
uses crt; begin write('Intialize Program'); delay(500);write('.');
delay(500);write('.'); delay(500);write('.');
delay(500);write('.'); delay(500);write('.'); readkey; end.
Membuat Pascal Berwarna
Pascal kita tau adalah bahasa pemprograman yang berjalan dibawah
DOS. Dan
pastinya program yang berjalan di dos pasti akan bikin mata kita
perih karena warnanya kalo
gak item ya putih. Tapi pascal juga memnyediakan perintah yang bisa
membuat tampilan
program pascal yang berjalan dibawah DOS memiliki warna selain
hitam putih.
Pertama untuk mewarnai teks kita menggunakan perintah textcolor();.
Berikut adalah tabel warnanya
Diatas adalah beberapa warnanya. Untuk memakai warna –
warna tersebut bisa
menggunakan kode angkanya bisa juga dengan kode hurufnnya.dan
sintaks warna ini akan
mempengaruhi tampilan yang perintahnya ditulis dibawahnya. Untuk
lebih jelas kita ke
contoh codding.
Selanjutnya kita akan mewarnai background dari teks nya.
Menggunakan perintah
Textbackground(); penggunaanya sama dengan perintah sebelumnya tapi
variasi
warnanya lebih terbatas, dari tabel sebelumnya yang bisa digunakan
untuk perintah ini hanya
sampai nomor 7. Textbackground ini tidak hanya untuk mewarnai
background dari teks tapi
Kode Warna 16 bit
0 black 8 grey
6 brown 14 yellow
Uses crt; Begin textcolour(blue); writeln(‘warnnku biru
kan?’); writeln(‘beneran biru ya?’); textcolour(14);
writeln(‘nah sekarang warna kuning’); readln; End.
Warnaku biru kan?
Beneran biru ya?
juga bisa mewarnai seluruh area dari program dengan
menuliskan perintah clrscr; setelah
perintah textbackground();. Mari kita ke contoh codding untuk
lebih jelasnya.
Bedah Tampilan pascal
Seperti yang telah dijelaskan sebelumnya program pascal berjalan
dibawah DOS. Satu
hal lagi yang pasti dari DOS adalah hanya bisa menampilkan teks.
Pasti kurang nyaman kalau
program yang dipakai hanya berupa tulisan dan tulisan. Ada satu
lagi perintah di pascal yang
bisa digunakan yaitu menampilkan teks ASCII. Apa itu ASCII?. Adalah
sebuah kode karakter
yang digunakan pada komputer dan menjadi standar amerika,
didalamnya terdapat karakter
alphabet, angka serta simbol. nah simbol – simbol ini
lah yang akan kita eksplorlebih jauh
untuk menciptakan tampilan pascal yang WOW. Berikut adalah kode
ascii serta karakter yang
akan muncul pada program pascal.
Perintah yang digunakan adalah chr(); dan harus ditulis didalam
perintah write();. Dan dibutuhkan ketelitian untuk membentuk teks
– teks diatas menjadi sebuah tampilan
Uses crt; Begin textbackground(5); clrscr; readln; End.
OUTPUT
Penggunaan teks ASCII juga tidak sampai disitu, kita juga bisa
memberikan efek-efek pada
teks, menggunakan text to ASCII. Yang bisa ditemukan banyak sekali
di internet website yang
menyediakan layanan merubah teks menjadi karakter ascii dengan
pilihan jenis teks yang
banyak sekali salah satunya yang menurut saya lengkap yaitu :
http://patorjk.com/software/taag/