Pemograman Dasar

Materi Pascal

(1)

Contoh Pemrograman Dasar Komputer Dengan Pascal

Pada bagian Pemrograman dasar pascal, kita akan membahas Contoh Program Komputer tentang perhitungan matematika dasar.  Dalam perhitungan matematika, kita menggunakan operator aritmatika sebagai berikut :

Penjelasan :

Operator tanda kurung adalah priorotas pertama, artinya bagian yang berada dalam tanda kurang akan dikerjalan pertama kali, kemudian diikuti oleh operator dengan prioritas kedua yaitu kali dan bagi (*dan /), kemudan tambah dan kurang . Dalam  perhitungan matematika, tanda sama dengan menggunakan tanda  := (titik dua sama dengan) untuk menyatakan nilai.

 Operator Div digunakan untuk membagi 2 bilangan  bulat (integer) kemudian mengambil  hasil bagi dan sisanya dibuang. Sedangkan operator Mod digunakan untuk membagi 2 bilangan bulat (integer) kemudian mengambil sisanya dan hasil baginya dibuang. 

Misalnya : 7 dibagi 2. Hasil baginya 3 dan sisanya 1.
X:= 7 div 2, hasilnya 3
X:= 7 mod 2, hasilnya 1

Tipe Data

1.  Integer    : untuk menyatakan bilangan bulat. Misalnya : 1, 2, 3, dst. Tipe Integer terdiri dari dari 5 macam  yaitu :
2.  Real        : untuk menyatakan bilangan desimal. Misalnya : 1.45, 5.76, dst. Pemisah tanda desimal menggunakan  titik bukan  koma. Tipe real dibagi menjadi 4 macam yaitu   :

Format Output Tipe Real

Output dari variabel bertipe real berupa bilangan desimal dengan 10 angka di belakang koma dan E+0n, dimana n =1,2,3, dst. Misalnya 1.6000000000E+02, artinya sama dengan 1.6 x 10 pangkat 2.
Untuk menampilkan output yang rapi, maka perlu diformat dengan bentuk sbb:

V:N:D dimana V adalan nama variabel, N adalah jumlah digit, dan D adalah jumlah desimal.

Contoh : X:6:2

artinya nilai variabel x terdiri dari 6 digit dan 2 angka dibelakang koma. Misalnya  094.32 tetapi 0 tidak dicetak sehingga tampilan output adalah 94.32.

3.  Char        : untuk menyatakan huruf, karakter dan tanda baca

Tipe data tunggal yang berhubungan dengan tombol-tombol di keyboard. Char adalah semua tombol yang terdapat pada keyboard atau lebih lengkapnya semua karakter yang terdapat pada kode ASCII.
Apabila data Char ingin dijadikan sebagai konstanta maka karakter yang harus diapit dengan tanda kutip satu.   Misalnya  :Huruf := ’A’

4.  String   : untuk menyatakan kata atau kalimat

String (adalah kumpulan type data yang berbentuk karakter). Tipe data string digunakan untuk menampung nilai dalam bentuk huruf, dimana batas maximal adalah sebanyak 255 karakter. Apabila data string ingin dijadikan sebagai konstanta maka data string yang harus diapit oleh tanda kutip satu.   Misalnya  : data:= ’Program Komputer’

5. Boolean    : untuk menyatakan benar(true) atau salah (false)

Mempunyai nilai benar / salah. Operator yang penghubung untuk tipe boolean adalah : =, > , <, <=, =>, <>;. Boolean akan menghasilkan false jika nilai = 0 dan akan menghasilkan true jika nilai = 1. Tipe boolean biasanya digunakan dalam operasi kondisional pada saat pengambilan keputusan Ya atau Tidak dengan menggunakan fungsi IF – Then – else.

Variabel 

Dalam perhitungan matematika, variabel adalah komponen yang sangat penting untuk digunakan. Karena itu, setiap masalah harus dianalisa dengan baik agar dapat menentukan jenis variabel dan tipe data yang akan digunakan. Variabel yang akan digunakan harus dideklarasikan lebih dahulu pada bagian deklarasi variabel.

Contoh Deklarasi Variabel :

Var       
a,b      : integer;
X,y,z     : real;
Huruf     : char;
Kata     : string[25]; artinya panjang kata atau kalimat maksimum 25 karakter. Jika tidak disebutkan maka panjangnya 255 karakter.

 Contoh Program  Komputer Untuk Perhitungan Matematika Sederhana

Contoh-1

Buatlah program dengan persaman  matematika :   Y = 2x + (8x – 25)

Jawab :

Dari persamaan di atas terdiri dari 2 buah variabel yaitu x dan y. Variabel  x adalah variabel  input dan y adalah variabel output. Tipe variabel boleh  integer atau real. Seperti pada pembahasan sebelumnya bahwa Langkah pertama adalah membuat algoritma, kemudian flowchart, dan membuat kode program.

Algoritma :
  •     Mulai
  •     Deklarasikan variabel
  •     Tentukan nilai x
  •     Hitung nilai Y
  •     Cetak x dan y.
  •     Selesai

Flow Chart



Kode Contoh Program Komputer

Program Contoh1;
uses crt;

var x,y : integer;

Begin
     clrscr;
     write('Input Nilai x = ');
     readln(x);
     y:= 2*x + (8*x -25);
     writeln;
     writeln(' Y = ',y);
     readln;
End.








Output Program:

Contoh 2

Buatlah program untuk mencari nilai a dari persamaan  a = (b + 3c)b – bcd

Jawab :

Persamaan di atas terdiri dari 4 buah variabel yaitu a,b,c,dan d. Gunakan tipe data integer jika input datanya berupa bilangan bulat saja. Jika ada input data berupa bilangan desimal, maka harus menggunakan tipe data real.

Algoritma :
  •     Mulai
  •     Deklarasikan variabel
  •     Input nilai b,c,d
  •     Hitung nilai a
  •     Cetak nilai a,b,c,d.
  •     Selesai
Flowchart

Kode Contoh Program Komputer

Program Contoh2;
uses crt;

var a,b,c,d : real;

Begin
     clrscr;
     write('Input Nilai b = ');readln(b);
     write('Input Nilai c = ');readln(c);
     write('Input Nilai d = ');readln(d);
     a:= (b + 3*c)*b - b*c*d;
     writeln;clrscr;
     writeln(' b = ',b:6:2,'   c = ',c:6:2,'  d = ',d:6:2);
     writeln;
     writeln(' Hasil Perhitungan, a = ',a:6:2);
     readln;
End.





Ouput Program


Contoh-3

Buatlah program untuk menghitung persamaan    y= □(√(a^2+b^2 )/4b)

Jawab :

Persamaan di atas terdiri dari 3 buah variabel yaitu y, a, dan b. Variabel y harus bertipe real karena y akan menyimpan hasil pembagian bilangan, dimana hasil pembagian akan berbentuk bilangan desimal. Sedangkan variabel a dan b, bisa bertipe real atau integer. Artinya jika integer, maka a dan b hanya dapat menerima bilangan bulat saja.

Algoritma :

  • Mulai
  • Deklarasikan variabel
  • Input nilai a dan b
  • Hitung nilai  x= √(a^2+b^2 )
  • Hitung nilai  y=x/4b
  • Cetak Nilai  y
  • Selesai
Flowchart


Dalam program Pascal terdapat fungsi :
Sqrt (x)  :  digunakan untuk menghitung nilai akar pangkat dua dari x
Sqr(x)    :  digunakan untuk menghitung nilai pangkat dua dari x

Kedua fungsi tersebut akan kita gunakan dalam program untuk menyelesaikan persamaan.

Kode Contoh Program Komputer

Program Contoh3;
uses crt;

var y,x,a,b : real;

Begin
     clrscr;
     write('Input Nilai a = ');readln(a);
     write('Input Nilai b = ');readln(b);

     x := sqrt(sqr(a) + sqr(b));
     y := x/(4*b);

     writeln;writeln;
     writeln(' a = ',a:6:2,'   b = ',b:6:2);
     writeln;
     writeln(' Y = ',y:6:2);
     readln;
End.

Hasil  Program:


Contoh Program Komputer-4

Buatlah program untuk membagi 2 bilangan bulat dengan operator Div dan Mod.

Jawab :

Div dan Mod hanya dapat membagi bilangan bulat, sehingga variabel yang digunakan harus bertipe integer.

Algoritma :
  • Mulai
  • Deklarasikan variabel  x,y,n,m
  • Input 2 bilangan bulat
  • Hitung  n = x mod y dan m = x div y
  • Cetak hasilnya
  • Selesai

Flowchart : sama dengan contoh di atas.

Kode Contoh Program Komputer


Program Contoh4;
uses crt;

var y,x,n,m : integer;

Begin
     clrscr;
     write('Input Nilai x = ');readln(x);
     write('Input Nilai y = ');readln(y);

     n:= x mod y;
     m := x div y;

     writeln;writeln;
     writeln(' x = ',x,'   y = ',y);
     writeln;
     writeln(' x mod y = ',n);
     writeln(' x div y = ',m);
     readln;
End.


Materi Flowchart 

(2)

Pengertian, Jenis - Jenis, Simbol - Simbol, dan Contoh Flowchart
1. Pengertian Flowchart / Bagan Alir
Pengertian Flowchart ( Bagan Alir ) adalah bagan  (chart) yang menunjukkan alir  (flow) di dalam program atau prosedur sistem secara logika. Bagan alir (flowchart) digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. 

2. Jenis Jenis Flowchart / Bagan Alir
Ada beberapa jenis - Jenis flowchart diantaranya:
  1. Bagan alir sistem (systems flowchart).
  2. Bagan alir dokumen (document flowchart).
  3. Bagan alir skematik (schematic flowchart).
  4. Bagan alir program (program flowchart).
  5. Bagan alir proses (process flowchart).

a. System Flowchart

System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.

b. Document Flowchart

Bagan alir dokumen  (document flowchart)  atau disebut juga bagan alir formulir  (form  flowchart)  atau  paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.

c. Schematic Flowchart

Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar  ini  memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.

d. Program Flowchart

Bagan alir program  (program flowchart)  merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program  (program logic flowchart)  dan bagan alir program komputer terinci  (detailed computer program flowchart).  Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alat- logika program ini dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir logika program. Bagan alir program komputer terinci  (detailed computer program flow-chart) digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci. Bagan alir ini dipersiapkan oleh pemrogram.
 

e. Process Flowchart

Bagan alir proses  (process flowchart)  merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur. 

3. Simbol - Simbol Flowchart / Bagan Alir

4.  Contoh Flowchart / Bagan Alir
























 Materi Algoritma
(3)
Pengertian algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah. Pada saat kita memiliki masalah, maka kita harus dapat untuk menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis. Contoh dari algoritma sederhana dalam kehidupan nyata adalah pada saat memasak air. Hal-hal yang perlu dilakukan untuk memasak air seperti berikut : siapkan panci, masukkan air secukupnya ke dalam panci, tutup panci tersebut, letakkan panci tersebut di atas kompor, hidupkan kompor dengan api sedang, apabila air sudah mendidih, matikan kompor, setelah itu angkat panci tersebut dari kompor. Langkah-langkah untuk memasak air tersebut merupakan algoritma memasak air. Sehingga memiliki urutan langkah-langkah yang logis.

Dalam ilmu matematika dan komputer, pengertian algoritma merupakan prosedur dari beberapa langkah demi langkah untuk penghitungan. Algoritma dipakai untuk penghitungan, penalaran otomatis, dan pemrosesan data. Pengertian algoritma ialah suatu metode yang efektif diekspresikan sebagai rangkaian yang terbatas dari beberapa instruksi yang telah dijelaskan dengan baik guna menghitung sebuah fungsi. Susunan algoritma dimulai dari kondisi awal dan input awal, instruksi tersebut mendeskripsikan komputasi yang apabila itu dieksekusi serta diproses dengan melewati urutan-urutan kondisi terbatas yang terdefinisi dengan baik, sehingga dapat menghasilkan output atau keluaran dan berhenti di kondisi akhir yang telah ditentukan.

Pengertian Algoritma
Algoritma sangat diperlukan untuk mengolah data yang ada di komputer. Dalam sistem komputer, pengertian algoritma ialah logika yang dibuat dengan memakai software oleh para pembuat perangkat lunak untuk membuat software tersebut menjadi lebih bagus. Algoritma berbeda dengan Logaritma. Perlu diketahui juga bahwa logaritma adalah sebuah operasi di ilmu matematika guna menghitung kebalikan eksponen dari sebuah perpangkatan.

Kata Algoritma ditemukan oleh Abu Abdullah Muhammad Ibnu Musa Al-Khwarizmi, beliau merupakan matematikawan yang berasal dari Persia yang ditemukan pada Abad Ke 9. Dari masa ke masa, kata algoritma mulai berkembang di abad ke 18.

Untuk lebih jelasnya lagi, berikut salah satu contoh algoritma :
Algoritma untuk menghitung nilai x dari persamaan x = 17y + 9 :
1) Memulai
2) Menentukan nilai y
3) Menghitung nilai x = 17y + 9
4) Menyelesaikan

Bentuk Dasar Algoritma

Algoritma sendiri mempunyai tiga 3 bentuk dasar, antara lain :
  1. Algoritma Sekuensial (Sequence Algorithm)
  2. Sequence algorithm atau algoritma sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari awal hingga akhir. Bentuk dari algoritma sekuensial ini salah satu contohnya seperti algoritma memasak air. Langkah demi langkah yang dijalankan harus urut dari atas sampai bawah.
  3. Algoritma Perulangan (Looping Algorithm)
  4. Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa langkah tertentu secara berulang-ulang atau looping. Pada masalah yang kita hadapi, ada pula sebuah langkah yang harus kita lakukan secara berulang-ulang. Contoh dari algoritma looping ini adalah algoritma menjemur pakaian:
    1) Siapkan jemuran.
    2) Ambil satu pakaian yang nantinya akan dijemur.
    3) Peras pakaian tersebut terlebih dahulu.
    4) Letakkan pakaian tersebut pada tiang jemuran.
    5) Ulangi langkah dari 2 sampai 4 hingga pakaian habis.
    Dari algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus dilakukan secara berulang-ulang hingga pakaian habis.
  5. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
  6. Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya apabila terdapat syarat yang sudah dapat dipenuhi. Berikut salah satu contoh dari algoritma bersyarat :
    1) Siapkan panci.
    2) Masukkan air secukupnya ke dalam panci.
    3) tutup panci tersebut.
    4) letakkan panci tersebut di atas kompor.
    5) Hidupkan kompor.
    6) Apabila air sudah mendidih, lalu matikan kompor.
    7) Angkat panci tersebut dari kompor.
    Algoritma bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air sudah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih, maka kompor tidak dimatikan.


Merancang Algoritma yang Baik

Menurut Donald E. Knuth, dari pengertian algoritma diatas dapat diketahui bahwa sebuah algoritma yang baik yaitu algoritma yang mempunyai kriteria sebagai berikut :
  1. Masukan (Input)
  2. Algoritma mempunyai input 0 (nol) atau lebih
  3. Keluaran (Output)
  4. Algoritma harus menghasilkan atau mengeluarkan minimal 1 output.
  5. Terbatas (Finite)
  6. Algoritma harus berhenti setelah melakukan langkah-langkah yang diperlukan.
  7. Pasti (Definite)
  8. Algoritma harus jelas kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas. Setiap langkah-langkah harus dijelaskan dengan jelas.
  9. Efisien
  10. Membuat sebuah algoritma haruslah efisien. Adanya langkah seperti mencari hasil 1 + 0 tidak efisien. Hal ini karena bilangan apapun itu jika ditambah dengan nol maka hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah seperti itu tidak perlu dimasukkan ke dalam sebuah algoritma.




Algoritma dapat disajikan ke dalam 2 bentuk, yaitu bentuk tulisan atau bahasa dan bentuk gambar. Penyajian algoritma dalam bentuk bahasa atau tulisan harus memakai sebuah bahasa yang dapat untuk dimengerti manusia dalam membuat langkah-langkah dari algoritma itu sendiri. Penyajian algoritma dalam bentuk tulisan/bahasa dapat dilakukan dengan memakai pseudocode. Pseudocode berasal dari "pseudo" aritnya "menyerupai atau mirip" dan "code" yaitu "kode program". Contoh dari beberapa bahasa pemrograman yang sering digunakan untuk menyatakan pseudocode antara lain : pascal, BASIC, Pascal, C, dan lain sebagainya. Terdapat juga penyajian algoritma yang dalam bentuk gambar disebut flow chart.

Klasifikasi Algoritma

Salah satu cara untuk mengklasifikasikan algoritma yaitu dengan menggunakan cara implementasi.
  1. Rekursi atau iterasi
  2. Algoritma rekursi ialah suatu algoritma yang memanggil dirinya sendiri secara berulang kali (looping) hingga pada kondisi tertentu dapat tercapai. Rekursi merupakan suatu metode umum dalam pemrograman fungsional. Algoritma iteratif memakai konstruksi berulang seperti pada pengulangan dan terkadang terdapat struktur data tambahan. Beberapa permasalahan secara alami dapat cocok dengan 1 implementasi atau yang lainnya. Contohnya : Menara Hanoi yang dikenal dengan implementasi rekursif. Pada setiap versi rekursif mempunyai adanya kesamaan (bisa lebih ataupun kurang kompleks) dengan versi iteratif, ataupun sebaliknya.
  3. Logical
  4. Algoritma dapat dilihat sebagai sebuah logika deduksi terkontrol. Pernyataan ini dapat diekspresikan sebagai: Algoritma = kontrol + logika. Komponen logika yang mengekspresikan aksioma dapat digunakan dalam komputasi serta komponen kontrol dalam menentukan cara-cara deduksi yang digunakan pada aksioma. Hal tersebut adalah dasar dari paradigma pemrograman logika. Dalam pemrograman, logika murni komponen kontrol ialah tetap serta algoritma yang ditentukan dengan memberikan hanya ada komponen logikanya. Daya tarik dari pendekatan logical ialah semantik elegan, sebuah perubahan yang ada dalam aksioma mempunyai perubahan dalam algoritma.
  5. Serial, paralel atau terdistribusi
  6. Pada umumnya, suatu algoritma menjalankan satu instruksi algoritma setiap waktu. Komputer tersebut dapat disebut dengan komputer serial. Rancangan algoritma yang digunakan bagi lingkungan tersebut ialah algoritma serial, terbalik dengan algoritma terdistribusi atau algoritma paralel. Algoritma paralel menggunakan arsitektur komputer yang mana terdapat prosesor-prosesor dapat mengerjakan masalah pada waktu yang sama. Sedangkan algoritma terdistribusi menggunakan banyak mesin yang terhubung ke jaringan. Algoritma terdistribusi atau paralel membagi permasalahan ke banyak submasalah simetris maupun asimetris dan mengumpulkan hasil yang didapat kembali. Konsumsi dari sumber pada algoritma tersebut tidak hanya ada perputaran prosesor tapi juga terdapat daya komunikasi antara prosesor. Algoritma pengurutan dapat untuk diparalelkan secara efisien, namun terdapat biaya komunikasi yang sangat mahal. Algoritma iteratif pada umumnya dapat untuk diparalelkan. Ada juga permasalah yang tidak ada algoritma paralelnya, disebut dengan permasalahan serial lahiriah.

Komentar