Algoritma dan pemograman menggunakan bahasa Pascal (PART 1

)
Posted on November 12, 2009 by Andri Indrawan Pendahuluan Sebelum beranjak kepada pembahasan tema apa itu Algoritma, sebaiknya kita mengenok terlebih dahulu kepada bentuk-bentuk permsalahan dan tata cara, aturan main dan mekanisme penyelesaiannya yang senantiasa terjadi dalam kehidupan kita sehari-hari. Dalam kehidupan kita sehari-hari, beragam permasalahan senantiasa muncul ditengah-tengah hiruk pikuk aktivitas kita. Ambil contoh sederhana dalam menyelesaikan permasalahan mendasar kehidupan manusia, yaitu menghilangkan rasa lapar dengan makan. Kita senantiasa mengetahui bahwasyahnya lapar merupakan suatu indikasi permasalah diri yang mesti kita cari bagaimana menyelesaikannya, kita tahu bahwa lapar merupakan salah satu bentuk dari kekurangan diri maka apa dan bagaimana bentuk dalam menyempurnakannya. Kita sekarang tahu bahwa lapar adalah permasalahannya dan makan merupakan solusinya. Untuk mencapai solusi kita mesti tahu bahwa solusi yang hendak dikejar merupakan suatu bentuk penyelesaian yang dapat memberikan efek terhadap hilangnya suatu permasalahan dan menimbulkan suatu hal baru dari kebalikan dari rasa lapar itu sendiri yaitu rasa kenyang. Jika saja makan sebagai suatu solusi tidak dapat memberikan efek menghilangkan rasa lapar dan menimbulkan rasa kenyang, maka makan yang kita anggap sebagai solusi itu merupakan suatu kekeliruan, atau jika makan memang merupakan solusi yang sebenarnya berarti ada suatu mekanisme yang salah dalam mencapai dan melakukan makan tersebut, misal makan ditunjukan untuk aktivitas memakan makanan yang dapat memberikan nutirisi pada tubuh bukan makanan asal yang dimana keadaan tubuh tetap kekurangan nutrisi sehingga saraf-saraf yang ada pada tubuh tetap memberikan sinyal kepada otak bahwa tubuh kekurangan nutrisi dan tetap menimbulkan rasa lapar. Atau kita keliru dalam melakukan langkah pencapaian dalam menemukan makanan sehingga yang kita temukan hanyalah minuman, maka aktivitas makan tetap tidak dapat kita laksanakan. Untuk kasus yang lain dalam menujukan bahwa bukan hanya mekanisme dalam pencapaian dan menjalankan solusi yang ada dapat menjadi kekeliruan tetapi juga dari penujukan solusi yang diharapkan. Misal kita tahu bahwa kita sedang lapar maka merokok adalah solusinya, contoh lain ketika seseorang mengetahui dirinya tertolak dalam melamar suatu pekerjaan maka meminum minuman keras lah solusinya, atau kita tahu bahwa dilingkungan kita terjadi suatu praktek ketidak adilan dan kita tahu bahwa ketidak adilan merupakan suatu kekeliruan yang berefek tidak baik maka bersabar dan beribadah sajalah solusinya?. Nah Algoritma dalam dunia pemograman sebenarnya dapat dimengerti keberadaannya dari gambaran peristiwa diatas, dimana Algoritma ini hadir sebagai suatu bentuk jiwa dan kerangka dari struktur program guna memenuhi kebutuhannya mulai dari penujukan dan pencapaianpencapaian hasil yang diharapkan dari keberadaan progam itu sendiri.

Dalam bahasa Indonesia. Algoritma yang dituangkan ke dalam bahasa tertentu (notasi) yang dapat dimengerti oleh pemroses dapat dikatakan sebagai program. Secara istilah atau termonologis. Secara umum. metodologi. kata Algorithm diserap menjadi Algoritma. pemroses (Processor) merupakan pihak yang melakukan suatu proses dengan melaksanakan atau mengeksekusi Algoritma yang terdefinisikan dan terjabarkan didalam proses tersebut. komputer dan alat-alat mesin lainnya. Dalam buku yang berjudul Kitab al jabr w’almuqabala atau “Buku Pemugaran dan Pengurangan” (The book of restoration and reduction). menurut buku Kamus Besar Bahasa Indonesia terbitan Balai Pustaka 1988. bahwa ada perbedaan secara mendasar antara apa itu belajar memogram dengan belajar bahasa pemograman.Pengertian Algoritma dan Pemograman Secara bahasa atau etimologis. maka –sm berubah menjadi –thm yaitu menjadi Algorithm. kata Algorism didapat dari penulis buku Arab terkenal yaitu Abu Ja’far Muhammad ibnu Musa al-Kuwarizmi. yang berarti proses menghitung dengan angka Arab. tata cara. dan sistematika pemecahan permasalahan. Banyak cabang dari ilmu komputer yang diacu ke dalam termonolgi Algortima ini. Sedangkan dalam melakukan pemograman senantiasa melibatkan data maka dapat dikatakan secara simbolik program = Algoritma + struktur data. ialah belajar untuk dapat menggunakan suatu bahasa pemograman tertentu diantara lain mempelajari aturan. Perlu diperhatikan. dikatakan bahwa Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah. Dengan uraian dari pengertian diatas. sintaksis. Algoritma harus dibuat secara benar dan dituangkan ke dalam bahasa yang dapat dimengerti oleh pemroses. Selain itu agar penyelesaian permasalahan yang sesuai dapat terjadi. Adapun pihak-pihak yang dapat dikatakan pemroses secara umum dapat berupa manusia. Dengan kata lain program merupakan implementasi dari Algoritma. jika kita cari asal-usul kata dari Algoritma yaitu Algorism. dan . Belajar memogram berarti belajar bagaimana membuat atau menentukan suatu strategi. karena pemroses mesti melakukan urutan langkah secara pasti dan benar terhadap Algortima. Dalam belajar memogram diperlukan adanya pemahaman terhadap persoalan yang ditunjuk. Adapun notasi yang dimaksud merupakan suatu bahasa pemograman tertentu. Menurut sejarah perjalanan matematik. robot. mesin. Secara komprehensif belajar memogram identik dengan mendesain program. Keberadaan Algoritma didalam dunia informatika atau ilmu komputer dinilai sangatlah penting. Karena penggunaan kata Algorism sering di salah artikan dalam dunia matematik dengan penggunaan kata Arithmetic. Adapun belajar bahasa pemograman. Sedangkan kata Algorist dikenakan bagi seseorang yang ahli dalam menggunakan perhitungan dengan angka Arab. kemampuan analisis dan sintesis. maka kita dapat mendefinisikan Algoritma sebagai metoda atau urutan dari langkah-langkah yang logis dalam penyelesaian suatu masalah dan tersusun secara sistematis. dari sudut pandang pemroses setidaknya ada beberapa hal yang mesti diperhatikan yaitu pemroses mesti memahami setiap langkah dalam Algoritma dan pemroses harus dapat mengerjakan operasi yang bersesuaian dengan langkah tersebut.

tahapan ini dapat dilakukan sejak awal bersamaan dengan aktivitas penulisan program. ketika tahapan ini kita harus dapat membuat dan menentukan mana Algoritma yang paling sesuai yang dapat kita terapkan dalam pemecahan permasalahan yang ada. dokumentasi juga ditunjukan untuk pembendaharan dan penjelasan dari masing-masing keyword. Mendefinisikan masalah. Algoritma harus berhenti setelah mengerjakan sejumlah langkah-langkah yang telah ditentukan. 3. Penambahan komentar pada setiap blok program atau sintaks program tertentu diperlukan untuk kemudahan dalam perbaikan dan pengembangan program.pemanfaatan intruksi-intruksi spesifik (key word) bawaan. 2. 6. 2. Algoritma dapat mempunyai nol atau lebih keluaran. Setiap langkah yang telah ditentukan harus terdefinisi dengan jelas dan tepat sehingga tidak mempunyai arti ganda. Algoritma dapat mempunyai nol atau lebih masukan. Menguji program. Selain memberikan komentar dalam kode program. langkah-langkah penyelesaian dan keluaran (output). fungsi atau prosedure program yang kita buat ataupun tatacara penggunaan dari masing- . Memilih Algoritma. 5. tahap ini diperlukan untuk mengetahui kesesuaian dan ketepatan dengan tujuan awal. dari Algoritma yang ada maka kita tinggal menuangkannya kedalam bahasa pemograman tertentu yang kita gunakan. Menentukan solusi. Menulis dokumentasi. 3. Menulis program. tahapan ini kita masih dalam mencari permasalahan yang hendak dipecahkan dengan mempertimbangkan sumber daya (resource) yang ada dan hasil yang kita inginkan. Langkah-langkah dalam pemograman setidaknya meliputi: 1. 4. Algoritma harus efektif dan sedeherna sehingga dapat dikerjakan dengan waktu yang rasional. Belajar bahasa pemograman lebih ditekankan ke coding. Tahap ini memberikan beberapa kasus permasalahan yang diuji cobakan terhadap jalannya program dengan melihat aspek-aspek dari masukan (input). Seperti yang dapat kita simpulkan bahwa pemograman merupakan aktivitas dalam menulis Algoritma yang dituangkan ke dalam notasi / bahasa pemograman tertentu yang dapat dimengerti oleh komputer. dari pendefinisian masalah diatas maka menentukan bagaimana pemecahannya dengan tetap mempertimbangkan ketepatan dalam pencapaian sasaran dan penggunaan waktu yang dibutuhkan. Algoritma dalam urutan aksinya harus menekankan kepada setiap kejadian yang terjadi pada selang waktu tertentu (terbatas) yaitu dimulai saat T0 (Initial State/ Keadaan Awal) dan berakhir pada T1 (Final State/ Keadaan Akhir) serta menghasilkan efek netto yang terdefinisi dengan baik dan sesuai dengan apa yang direncanakan sejak awal. Aturan Pembuatan Algoritma Menurut Donald E Knuth[1] Algoritma harus memiliki ciri-ciri sebagai berikut: 1. 4. 5. icon.

Flowcharts 2. Pemodelan Algoritma Pemodelan Algoritma merupakan aktivitas dalam mengilustrasikan jalannya suatu alur Algoritma dalam program dengan menggunakan simbol dan aturan-aturan tertentu. Merawat program. Hal itu dapat terlihat di hampir semua perguruan tinggi atau sekolah menggunakan pemodelan algoritma Pseudecode dalam melakukan pendekatan terhadap code. Deklarasi (Kamus) 3. Dan akar kata kedua yaitu Code yang berarti program. yaitu: 1. Dokumentasi dapat berupa tools helper ataupun hand out petunjuk penggunaan program. tahapan ini merupakan runtinitas yang dilakukan oleh pemogram atau user end. Pseudecode Dari ketiga model diatas. C. Jika pemogram melakukannya dengan cara mencari kemungkinan BUG yang ada dan memperbaikinya maka end user melakukannya dengan cara menggunakan program sesuai dengan petunjuk dan batasannya ataupun restore program (restore. yaitu : 1. dan lain-lain. PASCAL. dan 3. . Secara bahasa. backup data.masing perintah dalam penggunaan program. Ada beberapa bagian algoritma di dalam Pseudecode. Notasi algoritmis yang ditulis didalam kurung kurawa {} maka tidak akan dieksekusi oleh compiler. Untuk memberikan komentar kita gunakan kurung kurawa contoh {komentar}. Judul (Header) 2. model terakhir yaitu pseudecode lah yang amat banyak digunakan dan populer dikalangan para pemrogramam. Deskripsi Pada setiap bagian tersebut dapat kita berikan dokumentasi berupa komentar. Pseudecode berasal dari kata Pseudo yang artinya mirip atau imitasi atau menyerupai. seperti BASIC. kondisi awal dan kondisi akhir. Pseudecode Pseudecode adalah pemodelan algoritma dengan menggunakan kode yang mirip dengan kode pemograman yang sebenarnya. 7. dll). Ada tiga tipe pemodelan. install ulang. Nassi Scheniderman (Ns Diagram). Di dalam pembelajaran ini pun kita menggunakan pemodelan Pseudecode. khususnya di Indonesia. Judul (Header) Judul merupakan bagian kepala yang berisi nama algoritma dan penjelasan spesifik mengenai algoritma tersebut seperti cara kerja.

Siapa nama kamu?‟). Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa Pascal” ke piranti keluaran (monitor). sebaiknya kita bahas dulu apa itu bahasa pemograman Pascal. notasi algoritma yang kita buat dengan model pseudecode akan kita konversikan ke dalam bahasa pemograman Pascal. TheName. penamaan Pascal di ambil dari sebuah nama guru besar di Francis yaitu Blaise Pascal. {variabel penampung inputan bertipe data String} Deskripsi Bagian yang berisi uraian langkah-langkah penyelesaian masalah. “Boleh kita berkenalan. “Oh!. biasa berisi intruksi-intruksi penyelesaian dan pemanggilan aksi tertentu yang sudah didefinisikan. Siapa nama kamu?”. fungsi dan prosedure. Contoh: {Deskripsi} Output(‘Hallo. Sebelum beranjak lebih jauh dan untuk mempermudah pelajaran selanjutnya. Deskripsi merupakan bagian inti dari algoritma. nama saya Pascal!‟). Output(„Oh! ‟. Contoh: {Deklarasi/Kamus} TheName:String.Contoh: Program Perkenalan. konstanta). nama saya Pascal!”.„. Output(‘Boleh kita berkenalan. Dan menerima inputan sebuah nama (TheName)dari user.} Deklarasi (Kamus) Bagian ini merupakan ruang untuk mendefinisikan beberapa komponen data (type data.TheName . Input(TheName). Bahasa pemograman Pascal. Dalam pembelajaran ini. {Judul/Header Program} { mencetak String “Hallo. Pascal termasuk ke dalam kategori bahasa pemograman prosedural yaitu suatu bahasa pemograman yang impelemtasinya berdasarkan kepada penyelesaian permasalahan . variabel. Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa Pascal‟).

Global variabel block merupakan kamus atau deklarasi dalam pseudecode. 2. Kelemahan kategori ini akan terlalu banyak melibatkan coding dalam penggunaan fungsi dan prosedure dalam satu medan kerja untuk permasalahan yang kompleks dan sulit dalam pemeriksaan lebih lanjut terhadap pengembangan code-nya. Namun kemudahan bahasa pemograman ini jika dibandingkan dengan bahasa pemogaman non-prosedural lainnya ialah mudah untuk dipelajari. 3. Processor directive ini mengacu kepada library bawaan Pascal untuk melakukan standar baku pemograman. Main procedure dan Main procedure code merupakan deksripsi dalam pseudecode. Programe name dan Processor directive yang sama dengan judul program pada pseudecode. { Main Procedure } BEGIN { Main procedure code } END. khususnya bagi para pemula dalam mempelejari dan mengenal apa itu bahasa pemograman.yang mengandalkan langkah terurut dari beberapa fungsi dan prosedure program yang di definisikan. { Preprocessor directives } USES crt. namun untuk processor directive adalah key word wajib yang mesti dipanggil paling awal pada saat program di buat dan dijalankan. Struktur Pascal terdiri dari beberapa bagian yang dimana tiap bagiannya sama dengan bagianbagian yang dimiliki oleh Algoritma-Pseudecode. graphic dan lain-lain. Jika secara sederhana template dari struktur pascal tampak sebagai berikut: { Program name } PROGRAM my_program_1. misal wincrt. Adapun struktur Pascal yang dimaksud yaitu: 1. crt. { Global Variable Block } VAR Int_var : Integer. . String_var : String. Any_var : Real.

. nama saya Pascal!‟).„. Input(TheName).Contoh konversi pseudecode program perkenalan ke pascal Pseudecode Program Perkenalan. Output(„Oh! ‟. { Deklarasi } VAR TheName : String. { Deskripsi } BEGIN Writeln(‘ Program Perkenalan ‘). Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa Pascal‟). Siapa nama kamu?‟). {Judul/Header Program} {Deklarasi/Kamus} TheName:String. Output(‘Boleh kita berkenalan. Pascal {judul program} PROGRAM perkenalan. {variabel penampung inputan bertipe data String} {Deskripsi} Output(‘Hallo. Writeln(‘======================================’). Writeln.TheName . USES crt.

read(TheName).TheName . c:=k*(f-kh). Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa Pascal‟). {kh: konstanta suhu} {nama variable} var f. {readln: keyword masukan dengan satu enter ke bawah} END. Siapa nama kamu?‟). readln. {kamus} {nama tetapan} Const k=5/9. {writeln: keyword keluaran dengan satu enter ke bawah} writeln(‘Boleh kita berkenalan. {Deskripsi} Input(f). nama saya Pascal!‟).{proses konversi} Output(c).„. LATIHAN  Program Konversi Suhu Farenhit ke Celcius Pseudecode {nama program} Program Konversi_Suhu. {write: keyword keluaran} writeln. {read: keyword untuk masukan} writeln(„Oh! ‟.write(‘Hallo. {k: konstanta farenhit} Const kh=32.c:real. .

var f. begin Writeln(‘Program Konversi Fareinheit Ke Celcius’). Write(‘Masukan Suhu dalam Farenheit: ‘). end.  Program Konversi Waktu (Jam ke Detik) Pseudecode {nama program} Program Konversi_Waktu. Writeln. c:=k*(f-kh).c:4:2). Writeln. Const k=5/9.readln(f). {kamus} . Uses WinCrt. Writeln(‘======================================’).c:real. Writeln(‘Jadi Suhu Dalam Celcius Adalah: ‘.Pascal Program Konversi_Suhu. Const kh=32. readln.

Writeln(‘Jadi Hasil Konversi : ‘.h. Write(‘Masukkan Jumlah Detik : ‘). begin Writeln(‘Program Konversi Waktu’). Writeln.m.h:integer. {detik akumulatif hasil konversi} Pascal Program Konversi_Waktu.h:integer.readln(d). Var j. Uses Wincrt.’ Detik’). .readln(j). {detik} h:=(j*3600)+(m*60)+d.readln(m).m. Write(‘Masukkan Jumlah Menit : ‘). Writeln(‘======================’). h:=(j*3600)+(m*60)+d. {menit} Input(d). readln.j. {proses konversi} Output(h). {deskripsi} Input(j).d. {jam} Input(m). Write(‘Masukkan Jumlah Jam : ‘). Writeln.d.

Pascal Program Menukar_Nilai.C:integer.B. {deskripsi} Input(A).  Program Menukar Nilai Pseudecode {nama program} Program Menukar_Nilai. {proses tukar} C:=A.B.end. B:=C. var A.WinDos. Input(B). Begin Clrscr.B).C:integer. Uses WinCrt. A:=B. Output( A. {kamus} var A. {keyword untuk membersihkan layar} .

 Program Hitung Karakter (Nama) Pseudecode {nama program} PROGRAM Hitung_Karakter. Writeln(‘Hasil A=’. {deskripsi} input (nama).Writeln(‘Program Menukar Nilai A Menjadi B’). Writeln. . C:=A.readln(A). Writeln. End. Write(‘Masukkan Nilai A: ‘). Writeln. Write(‘Masukkan Nilai B: ‘). {kamus} nama : string. readln.B).A.readln(B).’ B=’. A:=B. namalen : integer. Writeln(‘=================================’). B:=C.

readln (nama). USES crt. write (‘Masukan nama Anda? ‘). namalen). END.namalen := length(nama). nama. Writeln(‘=================================’). {length: keyword untuk hitung karakter} writeln (‘Nama ‘.  „Program Konversi Teks ke Uper ke Lower Pseudecode {nama program} .’ memiliki panjang karakter ‘. namalen). {length: keyword untuk hitung karakter} output (nama. VAR nama : string. Pascal PROGRAM Hitung_Karakter. namalen : integer. namalen := length(nama). readln. Writeln(‘Program Hitung Karakter’). Writeln. BEGIN clrscr.

{upcase: keyword untuk upercase karakter} output(text). {kamus} text : string.PROGRAM convert_uper_lower. {proses uper} text := upcase(text). BEGIN clrscr. Writeln(‘Program Konversi Teks ke Uper ke Lower’). VAR text : string. Pascal PROGRAM convert_uper_lower. Writeln(‘=======================================’). . {proses lower} text:= lowercase(text). i : integer. output(text). i : integer. {deskripsi} input (text). USES crt.

writeln (‘Uppercase dari kalimat tersebut adalah: ‘). write (‘ ‘. writeln (‘lowercase dari kalimat tersebut adalah: ‘). END. readln. text:= lowercase(text). text := upcase(text). write (‘Masukan sebuah kalimat ‘). . readln (text). text). write (‘ ‘. readln. text).Writeln.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.