Jumat, 19 Desember 2014

MODUL ALGORITMA DAN PEMROGRAMAN ATURAN DASAR PENULISAN ALGORITMA

MODUL ALGORITMA DAN PEMROGRAMAN
ATURAN DASAR PENULISAN ALGORITMA


vector_logo_unnes_by_yashirun-d3jalhy.png




















DI SUSUN OLEH :

1.        VARINDYA DITTA ISWARI          (461141409)
2.        FEROZA ROSALINA DEVI            (4611414024)
3.        AFRIZAL RIZKI PRANATA           (4611414038)






PRODI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI SEMARANG
TAHUN PELAJARAN 2014/2015
Notasi dan Aturan Penulisan Algoritma

A.    Notasi Algoritma

            Seperti yang telah dibahas sebelumnya, bahwa algoritma adalah rangkaian langkah-langkah untuk memecahkan suatu masalah. Algoritma dituliskan dalam sebuah notasi yang disebut Notasi Algoritma. Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma inilah terdapat kerangka-kerangka suatu program. Ciri notasi algoritma yang baik yaitu dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti. Meskipun demikian untuk menghindari kekeliriuan, ketaatan terhadap notasi perlu diperhatikan.

Di bawah ini ada 3 notasi yang digunakan dalam penulisan algoritma,yaitu :
1.Kalimat Deskriptif
2.Diagram Alir (Flowchart)
3.Pseudo-Code

1. Kalimat Deskriptif
            Dengan notasi kalimat deskriptif ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas/gamblang. Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman relatif sulit.

contoh algoritma dengan kalimat deskriptif.
Algoritma menghitung luas persegi panjang:
luas persegi panjang = panjang*lebar.

1.mulai.
2.baca panjang
3.baca lebar
4.hitung luas = panjang*lebar
5.cetak luas
6.selesai.

2. Diagram Alur (Flowchart)
            Dengan diagram alir, deskripsi setiap langkah dijelaskan dalam sebuah bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dalam suatu program. Notasi diagram alur lebih cocok digunakan untuk masalah yang kecil, untuk masalah yang besar tidak cocok digunakan karena membutuhkan berlembar halaman kertas. Selain itu, pengkonversian notasi algoritma ke bahasa pemrograman cenderung relatif sulit.



contoh algoritma dengan diagram alur.
Algoritma menghitung luas persegi panjang:
Tentukan luas persegi panjang. P= panjang, L=lebar, Luas=P*L.

3. Pseudo-code
      Dengan notasi pseudocode, deskripsi setiap langkah dijelaskan dengan menggunakan vacabulary (baku) atau dalam arti lain seperti ini pseudocode merupakan deskripsi tingkat tinggi informal dan ringkas atas algoritma pemrograman komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman, dan ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Notasi pseudocode adalah yang paling umum di gunakan dalam penulisan algoritma karena pengkonversian ke bahasa pemograman relatif mudah.

Notasi pseudo-code terdiri dari :

• Head(Judul) : memberikan nama pada algoritma; umumnya nama sudah dapat memberi gambaran pada prosedur penyelesaian masalah atau masalah yang akan diselesaikan
• Deklarasi : menyatakan jenis dari setiap elemen data (variabel) yang akan digunakan dalam algoritma.
• Deskripsi : merupakan inti prosedur penyelesaian masalah; meliputi pernyataan/operasi, fungsi, penjelasan, dll.
contoh algoritma dengan pseudocode:

ALGORITMA HITUNG LUAS
menghitung luas persegi panjang.
DEKLARASI:
P=panjang
L=lebar
Luas=P*L
DESKRIPSI:
read (P,L)
while (Luas=P*L)
endwhile
write (Luas)


Kita bisa bebas menulis pseudocode selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya.

B.     ATURAN PENULISAN ALGORITMA
1.      Teks Algoritma
                  Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apa pun, asalkan mudah dibaca dan mengerti. Tidak ada notasi yang baku dalam penulisan teks algoritma sebagaimana pada notasi bahasa pemrograman. Tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Hal ini dapat dimengerti karena teks algoritma tidak sama dengan teks program. Program adalah implementasi algoritma dalam notasi bahasa pemrograman tertentu. Namun, agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi bahasa pemrograman secara  umum.  Sebagai contoh, perintah:
tulis nilai X dan Y
dalam notasi algoritma menjadi:
write(X, Y)

                 Notasi write ini berarti nilai X dicetak ke peranti keluaran. Tidak penting apakah X dan Y ditulis ke layar atau ke printer atau ke piranti keluaran yang lain. Selain itu, di dalam algoritma tidak mempersoalkan format tampilan keluaran, misalnya apakah hasil penulisan antara X dan Y dipisah dengan spasi atau dengan koma, juga apakah X dan Y dicetak di dalam baris yang sama atau tidak, dan lain-lain.

                 Hal-hal teknis baru dipikirkan pada saat translasi algoritma menjadi program. Dengan demikian, notasi algoritma benar-benar abstraksi dari notasi bahasa pemrograman. Notasi “write” di dalam algoritma berkoresponden dengan write atau writeln dalam bahasa Pascal, printf dalam bahasa C, WRITE dalam bahasa Basic, atau write dalam bahasa Fortran. Selain itu, pada beberapa bahasa pemrograman seperti Pascal dan C, antara setiap instruksi dipisahkan dengan tanda “;” (semicolon). Jadi, translasi write(X)  ke dalam masing-masing bahasa tersebut adalah dengan anggapan piranti keluarannya adalah layar.

write(X, Y);              { dalam bahasa PASCAL }
printf(“%d %d”, X,Y);      /* dalam bahasa C */
WRITE X, Y                 ‘ dalam bahasa BASIC

                 Perhatikanlah bahwa setiap bahasa mempunyai aturan sendiri dalam menggunakan perintah penulisan. Bahasa C misalnya mengharuskan penulisan penentu format seperti “%d” yang berarti nilai X dan Y yang akan dicetak bertipe bilangan bulat. Selain itu, setiap instruksi pada bahasa Pascal dan C ditutup dengan tanda titik koma (;).





2.      Susunan Teks Algoritma
Susunan teks Algoritma terdiri dari :
1.      Kepala Algoritma
2.      Deklarasi
3.      Deskripsi

1.      Kepala Algoritma
            Merupakan bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan dibawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
Bahasa Algoritma : Algoritma judul_program
a. Ex. Algoritma Pencari_Jarak
b. Ex. Algoritma PencariJarak

Contoh :
Algoritma PENCARI_JARAK
{Mencari jarak tempuh suatu benda dengan masukkan Waktu dan kecepatannya}
Catatan :
Dalam menuliskan nama algoritma dalam huruf besar dan menggunakan tanda “_” (underscore) untuk memisahkan antar kata. Huruf besar dan tanda “_” bukan keharusan. Sebaiknya tidak menggunakan spasi (“ “) untuk memisahkan antar kata di dalam nama algoritma. Ini ada manfaatnya, terutama untuk judul program dalam bahasa Pascal.

2.      Deklarasi
            Merupakan bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah, nama tipe, nama prosedur, dan nama fungsi.
Merupakan bagian inti dari suatu algoritma. Bagian ini berisi urutan langkah-langkah penyelesaian masalah. Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan penulisan menentukan urutan pelaksanaan perintah.
Komponen di dalam teks algoritma dapat berupa: Instruksi dasar seperti input/output, assignment, Urutan (sequence), Pemilihan, Pengulangan
Bahasa Algoritma : nama_variabel : Tipe Data
a. Ex. Kecepatan : integer
b. Ex. Waktu : integer

Ketentuan-ketentuan dalam pendefinisian nama-nama:
1. Nama peubah belum terdefinisi harganya ketika didefinisikan.
2. Pendefinisian konstanta sekaligus juga memberikan harganya.
3. Pendefinisian nama fungsi sekaligus juga dengan domain dan range serta  spesifikasinya.
4. Pendefinisian nama prosedur sekaligus juga dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal, kondisi akhir dan proses yang dilakukan).

DEKLARASI
{ Nama tipe, hanya untuk tipe yang bukan tipe dasar }
Type linteger = array[1..100] of integer
{ Nama konstanta, harus menyebutkan nilai }
const phi = 3.14
{ Nama peubah (variabel), menyebutkan tipe }
P : Linteger
Jarak : Integer
ketemu : boolean { Keadaan hasil pencarian }
{ Spesifikasi Fungsi, menyebutkan nama fungsi, domain dan range }
Function PANGKATKAN(input a : real,input n : integer) ß real
{mengembalikan harga perpangkatan an, n bilangan bulat positif}
{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses }
procedure bacagambar(var a :linteger;n:integer)
{Kondisi Awal : a :linteger dan n : integer}
{Kondisi Akhir : Gambar bintang terinput}
{Proses : Untuk mengisi bintang}

3.      Deskripsi
Contoh :
Deskripsi

  Read(kecepatan)
  Read(waktu)
  Jarak ß kecepatan*waktu
  Write(‘Jarak tempuh : ‘ , Jarak)

Contoh Algoritma :

Algoritma PENCARI_JARAK
{Mencari jarak tempuh suatu benda dengan masukkan Waktu dan kecepatannya}
Deklarasi
  Jarak : Integer
  Kecepatan : Integer
  Waktu : Integer
Deskripsi
  Read(kecepatan)
  Read(waktu)
  Jarak ß kecepatan*waktu

  Write(‘Jarak tempuh : ‘ , Jarak)

Tidak ada komentar:

Posting Komentar