Prosedur Write, Writeln, Read dan Readln


Pada program sebelumnya telah ditampilkan beberapa prosedur. Di antaranya Writeln dan Readln. Berikut adalah beberapa fungsi dari Write, Writeln, Read, dan Readln dari Pascal

write : menulis keluaran di layar, tetapi kursor di tempat yang sama
writeln : menulis keluaran di layar, kursor akan berganti baris
read : membaca masukan dari keyboard, tetapi kursor tetap di baris yang sama
readln : membaca masukan dari keyboard, kursor akan pindah ke baris berikutnya

Dalam bahasa Pascal, yang seringkali digunakan yaitu hanya writeln dan readln. Write dan read hanya dibutuhkan dalam beberapa hal. Jadi silakan pilih mana yang dibutuhkan sesuai dengan kebutuhan. Untuk contoh agar anda lebih memahami fungsi writeln dan readln, silakan simak program berikut:
program Kedua;
uses
crt;
var
nama: string[25];
begin
clrscr;
write('Masukkan nama anda: ');
readln(nama);
writeln('Selamat Datang di Pascal, ', nama);
readln;
end.

Keterangan dari program di atas:
Baris 1: menerangkan bahwa program tersebut bernama kedua
Baris 3 dan 4: menerangkan bahwa program tersebut menggunakan unit crt
Baris 6 dan 7: menerangkan bahwa program tersebut menggunakan variabel nama dengan tipe string dengan panjang maksimal 25 karakter
Baris 9: permulaan blok program utama
Baris 10 : digunakan untuk membersihkan layar, clrscr artinya clear screen
Baris 11 : digunakan untuk menampilkan informasi ke monitor bahwa anda diminta untuk memasukkan nama posisi kursor ada di sebelah kanan
Baris 12 : digunakan untuk membaca masukan dari user dan menampungnya ke variabel nama
Baris 13 : digunakan untuk menampilkan output nama yang dimasukkan tadi dari variabel nama
Baris 14 : digunakan untuk menunggu user menekan tombol dari keyboard
Baris 15 : digunakan untuk mengakhiri program

Hasil dari program di atas adalah:
Masukkan nama anda: KurniawanSelamat datang di dunia Pascal, Kurniawan

Sumber : http://algoritma.web.id/prosedur-write-writeln-read-dan-readln.mk#more-24

Tipe Data Algoritma


1. Tipe Data

Setiap data memiliki tipe data, apakah merupakan angka bulat ( integer ), angka biasa ( real ), atau berupa karakter ( char ), dan sebagainya.

Ada 2 kategori dari tipe data yaitu:

1. Tipe dasar

1. Bilangan bulat ( integer )
- Bilangan atau angka yang tidak memiliki titik desimal atau pecahan, seperti 10, +225, -10,+25.
- Tipe dituliskan sebagai integer atau int
- Jangkauan nilai bergantung pada implementasi perangkat keras komputer, misalnya dari -11 s/d +12; untuk algoritma tidak kita batasi.
- Operasi aritmetik: tamabah+, kurang-, kali*, bagi/, sisa hasil bagi%
- Operasi pembanding:lebih kecil=, sama=, tidak sama><.
2. Bilangan biasa ( real )
- Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, dan ditulis sebagai : 235.45, +13.99, -87.76 atau dalam notasi ilmiah seperti : 1.245E+03, 7.45E-02, dsb.
- Tipe dituliskan sebagai : real
- Jangkauan nilai : bergantung pada implementasi perangkat keras komputer, misalnya dari -2.9E-39 s/d +1.7E+38, untuk algoritma tidak dibatasi.
- Operasi aritmatik dan pembandingan juga berlaku bagi bilangan biasa.
3. Bilangan tetap ( const ).
- Bilangan tetap ( const ) adalah tipe bilangan, tidak bernilai bulat maupun tidak, yang nilainya tidak berubah selama algoritma dilaksanakana.
- Tipe dituliskan sebagai const .
- Jangkauan nilai meliputi semua bilangan yang mungkin.
4. Karakter ( character )
- Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan juga simbol angka yang tidak dapat dioprasikan secara matematis, misalnya: ’A’, ’B’, .....,’Z’, ’?’,’!’, dst.
- Tipe dituliskan sebagai char
- Jangkauan nilai meliputi semua karakter dalam kode ASCII, atau yang tertera pada setiap tombol keyboard.
- Operasi pembanding dapat dilakukan dan dievaluasi menurut urutan kode ASCII, sehingga huruf ’A’ (Hex 41) sebenarnya lebih kecil dari huruf ’a’ (Hex 61).
5. Logik ( logikal )
- Tipe data logik adalah tipe data yang dipergunakan untuk memberi nilai pada hasil pembandingan, atau kombinasi pembandingan.
- Tipe dituliskan sebagai boolean
- Jangkauan nilai ada dua : true dan false

2. Tipe bentukan

1. Array ( larik )
- Array adalah tipe data bentukan, yang merupakan wadah untuk menampung beberapa nilai data yang sejenis. Kumpulan bilangan bulat adalah array integer, kumpulan bilangan tidak bulat adalah array real.
- Cara menefinisikan ada 2 macam, yaitu:
* Nilai_ujian : array [ 1..10] of integer, atau* Int nilai­_ujian[10];
- Kedua definisi diatas menunjukkan bahwa nilai_ujian adalah kumpulan dari 10 nilai bertipe bilangan bulat.
2. String
- String adalah tipe data bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda kutip.
- Sebagai contoh: nama, alamat, dan judul adalah tipe string.
- Cara mendefinisikannya adalah:
* string nama, alamat; atau* nama,alamat : string;
3. Record ( rekaman )
- Record adalah tipe data bentukan yang merupakan wadah untuk menampung elemen data yang tipenya tidak perlu sama dengan tujuan mewakili satu jenis objek.
- Sebagai contoh, mahasiswa sebagai satu jenis objek memiliki beberapa elemen data seperti : nomer_stb, nama, umur, dll.
- Cara mendefinisikan record mahasiswa tersebut adalah sebagai berikut:
Type dataMhs : record
< nomer_stb : integer,
Nama_mhs : string,
Umur : integer,
>
2. Variabel
Variabel adalah nama yang mewakili suatu elemen data seperti : jenkel untuk jenis kelami, t4lahir untuk tempat lahir, dan sebagainya. Ada aturan tertentu yang wajib diikuti dalam pemberian nama variable, antara lain:
* Harus dimulai dengan abjad, tidak boleh dengan angka atau symbol.* Tidak boleh ada spasi diantaranya* Jangan menggunakan simbol yang bisa membingungkan seperti titik dua, titik koma, koma, dan sebagainya.* Sebaiknya memiliki arti yang sesuai denagn elemen data.* Sebaiknya tidak terlalu panjang.
Contoh variabel yang benar : Nama, Alamat, Nilai_ujian
Contoh variabel yang salah : 4XYZ, IP rata, Var;=xy,45;

Program, Programming dan Notasi Algoritma

Masih soal logika dan algoritma, sekarang kita lihat bagaimana perbedaan antara program dan programming (pemrograman). Ingat, algoritma yang kita bahas di kategori ini terkait dengan program komputer.

Karena algoritma (di sini) adalah urutan penyelesaian masalah yang akan diproses oleh komputer, maka algoritma tentu harus ditulis ke dalam bahasa yang dimengerti oleh komputer. Nah, algoritma yang ditulis dalam bahasa komputer ini disebut dengan program. Lalu bahasa yang digunakan untuk menulis program tersebut dinamakan bahasa pemrograman.

Orangnya, yang menulis program disebut pemrogram atau programmer dan proses pembuatan program disebut pemrograman (programming). Ada lagi istilah coding, yaitu kegiatan penulisan kode-kode program ke dalam bahasa pemrograman.

Belajar programming berbeda dengan belajar bahasa pemrograman. memang kadang-kadang banyak dan sering terjadi kesalahan dalam menggunakan kedua istilah tersebut. Ada yang bilang belajar programming itu ya belajar Pascal, VB, Delphi dan sebagainya. Padahal itu sebenarnya adalah belajar bahasa pemrograman, yang artinya belajar menggunakan suatu bahasa pemrograman komputer denga aturan-aturan penulisan tertentu dan biasanya hanya bisa digunakan untuk bahasa pemrograman itu saja.

Sedangkan dalam programming, lebig mengutamakan dan menekankan pada rancangan penyelesaian masalah (algoritma) yang dituliskan ke dalam notasi (cara penulisan khusus) yang biasa disebut notasi algoritmik.

Notasi algoritmik yang sering dijumpai ada 3 macam yaitu :

Notasi deskriptif, yaitu dengan cara menuliskan langkah-langkah penyelesaian masalah dengan kalimat-kalimat yang jelas dan deskriptif disertai dengan urutan (nomor urut) yang jelas.Notasi ini sudah kita gunakan pada posting tentang apa itu algoritma dan juga beberapa contoh algoritma yang lain. tetapi untuk lebih jelasnya, kita buat contoh baru.
Contoh algortima menentukan apakah suatu bilangan bulat positif itu ganjil atau genap.

ALGORITMA GanjilGenap1. masukkan/berikan sebuah bilangan bulat positif2. jika bilangan itu habis dibagi 2 (bilangan MOD 2 = 0), tulis genap3. jika tidak, tulis ganjil

Notasi bagan alir (flow chart), yaitu algoritma menggunakan bagan alir dengan memanfaatkan bentuk-bentuk geometri seperti persegi panjang, jajaran genjang, lingkaran dan sebagainya. Masing-masing bentuk mempunyai fungsi dan kegunaan tersendiri, insya Allah kita bahsa pada kesempatan yang lain…Notasi bagan alir untuk contoh bilangan ganjil dan genap di atas adalah seperti gambar berikut :

Notasi pseudo-code, yaitu notasi algoritma yang praktis dan mirip dengan bahasa pemrograman tingkat tinggi seperti Pascal. Banyak notasi pseudo-code yang digunakan oleh para ahli komputer dan berbeda-beda sehingga tidak ada aturan baku dalam penulisan pseudo-code ini, tetapi yang paling banyak digunakan dalam algoritma pemrograman adalah yang mendekati bahasa Pascal.Notasi pseudo-code untuk contoh menentukan genap dan ganjil dari bilangan bulat positif seperti terlihat di bawah.

PROGRAM GanjilGenap
DEKLARASI
bil : integer
DESKRIPSIr
ead(bil)
if (bil MOD 2 = 0) then
write(’genap’)
else
write(’ganjil’)
endif

Ya, sekarang sudah jelas perbedaan antara program, pemrograman, belajar bahasa pemrograman dan coding. Sudah jelas juga bentuk dan notasi-notasi algoritma.

Posting berikutnya kita lanjutkan dengan struktur algoritma menggunakan pseudo-code. Ketemu lagi nanti…

ALGORITMA

Pengantar

Semua sepakat bahwa komputer merupakan alat bantu untuk menyelesaikan masalah. Agar komputer dapat menyelesaikan masalah maka perlu dirumuskan terlebih dahulu langkah-langkah dalam suatu rangkaian instruksi. Sekumpulan instruksi yang merupakan penyelesaian masalah dinamakan "Program".

Agar komputer dapat menjalankan program, maka harus ditulis dalam bahasa yang dapat dimengerti oleh komputer. Karena komputer adalah sebuah mesin maka program harus ditulis dalam bahasa yang khusus dibuat untuk berkomunikasi dengan komputer. Bahasa komputer yang digunakan dalam menulis program dinamakan bahasa pemrograman. Salah satu contoh bahasa pemrograman adalah Bahasa C.

Dalam menyelesaikan masalah dengan bantuan komputer, langkah pertama yang dilakukan adalah dengan membuat desain (rancangan). Desain menyajikan cara berfikir pemrogram dalam menyelesaikan masalah. Desain ini berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasi-notasi deskriptif. Urutan langkah-langkah yang sistematis untuk menyelesaikan masalah dinamakan ALGORITMA.

Definisi Algoritma

ALGORITMA : urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Algoritma menurut Kamus Besar Bahasa Indonesia adalah Urutan logis pengambilan keputusan untuk pemecahan masalah .
Contoh Algoritma dalam kehidupan sehari-hari :

Proses Algoritma Langkah dalam Algoritma
Membuat Kue Resep Kueambil 3buah telur, ambil kuning telur dan kocok
Membuat baju Pola Baju Potong kain sesuai pola
Isi Voucher HP Panduan tekan nomor 555


Notasi Algoritma

Notasi algoritma bukan notasi bahasa pemrograman,sehingga siapapun dapat membuat notasi algoritma yang berbeda.Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti.Meskipun notasi algoritma bukan notasi baku namun kepatuhan terhadap notasi perlu diperhatikan untuk menghindari kekeliruan.
Beberapa notasi dalam penulisan algoritma :

1.Notasi I : menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif.
Dengan notasi bergaya kalimat deskriptif, deskripsi setiap langkah dapat dijelaskan dengan bahasa yang gamblang.Misalnya, proses diawali dengan kata kerja seperti 'baca', 'hitung' , 'ganti' dan sebagainya.Sedangkan pernyataan kondisional dinyatakan dengan 'jika....' , 'maka....'.
Notasi ini bagus untuk algoritma yang pendek ,namun untuk masalah yang besar notasi ini tidak mungkin dipakai.Selain itu,konversi dari notasi algoritma ke bahasa pemrograman cendrung relatif sukar.

2.Notasi II: menggunakan diagram alir(flow-chart).
Diagram alir populer pada awal-awal era pemrograman dengan komputer.Diagram alir lebih menggambarkan aliran instruksi didalam program secara visual ketimbang memperlihatkan struktur program.Notasi algoritma ini juga cocok untuk masalah kecil, tidak cocok untuk masalah besar karena akan memerlukan berlembar halaman kertas untuk menggambarkan aliran proses program.

3. Notasi III: menggunakan pseudo-code
Pseudocode (pseudo artinya semu atau tidak sebenarnya) adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi seperti bahasa C.Hasil pengamatan memperlihatkan bahwa bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi, seperti notasi if-then-else, while-do,repeat-until,read, write dan sebagainya. Berdasarkan pengamatan tersebut, maka didefinisikan bahwa notasi algoritma yang dapat menjelaskan perintahnya dengan bahasa yang jelas tanpa membingungkan pembaca bisa disebut dengan notasi algoritma menggunakan pseudo-code. Tidak seperti bahasa program yang direpotkan dengan tanda titik koma dan sebagainya, kata-kata khusus,indeks,format, dan lainnya, maka dengan pseudo-code ini akan lebih memudahkan dan menguntungkan. Keuntungan penggunaan notasi pseudo-code ini adalah kemudahan mengkonversinya kebahasa pemrograman, karena terdapat korespondensi antara setiap pseudo-code dengan notasi bahasa program.Korespondensi ini dapat diwujudkan dengan tabel translasi dari notasi algoritma ke notasi bahasa program


Aturan Penulisan Algoritma

Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis alam bentuk notasi apapun , asalkan mudah dibaca dan dimengerti. Tidak ada notasi yang baku dalam penulisan teks algoritma. Tiap orang dapat membuat aturan penulisan dan algoritma sendiri.Namun, agar notasi algoritma dapat dengan mudah ditranslasi ke alam notasi bahasa pemrograman, maka sebaiknya notasi algoritma itu berkoresponden dengan notasi bahasa pemrograman secara umum.

Contoh perintah :Tulis nilai x dan y
Dalam notasi algoritma menjadi : write (x,y)
Dalam Bahasa Turbo C ditulis : printf("%d %d",x,y);


Tipe, Nama, dan Nilai

Tipe

Pada umumnya program komputer bekerja dengan memanipulasi objek (data) di dalam memori. Objek yang akan diprogram bermacam-macam tipenya, misalnya tipe numerik,karakter,string, dan record(rekaman).

Tipe data dapat dikelompokan menjadi 2, yaitu: tipe dasar dan tipe bentukan. Tipe dasar adalah tipe yang langsung dapat dipakai, sedangkan tipe bentukan dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan.

Suatu tipe diacu dari namanya.Nilai-nilai yang dicakup oleh tipe tersebut dinyatakan didalam ranah (domain)nilai. Operasi-operasi (beserta operator) yang dapat dilakukan terhadap tipe tersebut juga didefinisikan. Dengan kata lain suatu tipe dinyatakan dengan namanya,ranah nilai yang dikandungnya,cara menuliskan konstantanya, dan operasi yang dapat dilakukan padanya.

Tipe Dasar

Dalam bahasa pemrograman yang termasuk tipe dasar adalah :
1. bilangan logika
2. bilangan bulat
3. karakter atau string
4. bilangan riil

Tipe Bentukan

Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram (user define). Tipe bentukan disusun oleh satu atau lebih tipe dasar. Ada dua macam tipe bentukan yaitu:

1.Tipe dasar yang diberi nama dengan nama tipe baru contoh : tipe BilanganBulat : integer
Variabel BilanganBulat adalah tipe bilangan bulat yang sama saja dengan tipe integer. Misalkan kita mempunyai sebuah variabel yang bernama X dan bertipe BilanganBulat, maka artinya variabel X tersebut juga bertipe integer.

2.Rekaman (rekord).
Rekaman disusun oleh satu atau lebih field.Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah dideinisikan sebellumnya.Nama record itentukan oleh pemrogram. Karena stukturnya yang diusun atas field-field, maka rekaman inamakan juga tipe terstruktur(stuctured type).

Nama

Setiap objek dialam mempunyai nama.Nama diberikan agar objek tersebut mudah diidentifikasi, diacu, dan dibedakan dari objek lainya.Di dalam algoritma nama dipakai sebagai pengidentifikasi "sesuatu" dan pemrogram mengacu "sesuatu" itu melalui namanya. Karena itu tiap nama haruslah unik, tidak boleh ada dua buah nama yang sama.

Di dalam algoritma "sesuatu" yang diberi nama dapat berupa :

1.Variabel
2.Konstanta
3.Tipe Bentukan
4.Nama Fungsi
5.Nama Prosedur

Suatu hal yang penting untuk diperhatikan adalah, nama sebaiknya interpretatif, yaitu mencerminkan nilai intrinsik atau fungsi yang dikandungnya.Pemrogram sangat dianjurkan untuk memberikan penjelasan terhadap nama yang didefinisikan.
Semua nama yang digunakan dalam algoritma harus didefinisikan atau dideklarasikan dibagian deklarasi .Bagian deklarasi dipakai sebagai tempat mengacu suatu kata untuk diketahui makna atau terjemahannya.Tempat untuk menjelaskan nama dan tipe dari nama tersebut.

Nilai

Nilai adalah besaran dari tipe data yang sudah didefinisikan.Nilai dapat berupa isi yang disimpan oleh nama variabel atau nama konstanta,nilai dari hasil perhitungan, atau nilai yang dikirim oleh fungsi.Algoritma pada hakikatnya adalah memanipulasi nilai yang disimpan didalam elemen memori. Nilai yang dikandung oleh variabel dimanipulasi antara lain dengan cara :
mengisikannya ke variabel lain yang bertipe sama, dipakai untuk perhitungan, atau dituliskan ke piranti keluaran.

Contoh algorima : mencetak stirng "Halo, apa kabar?" ke piranti keluaran.
Versi 1. String "Halo, apa kabar?" langsung dicetak tanpa menggunakan variabel.
Algoritma :
Deklarasi
(tidak ada)
Deskripsi
write ("Halo,apa kabar?")
Versi 2.String "Halo,apa kabar?" disimpan di dalam sebuah variabel bertipe string.
Algoritma :
Deklarasi
ucapan : string
Deskripsi
ucapan <------ 'Halo,apa kabar?'
write (ucapan)
Versi 3.String "Halo,apa kabar?" disimpan sebagai konstanta
Algoritma:
Deklarasi
const ucapan = 'Halo,apa kabar?'
Deskripsi
write (ucapan)

Keluaran yang dihasilkan oleh algoritma versi 1, 2, dan 3 adalah :
Halo, apa kabar?
Kembali Ke Atas

URUTAN / RUNTUNAN

Algoritma merupakan runtunan(sequence) satu atau lebih instruksi,yang berarti bahwa :
1. Tiap instruksi dikerjakan satu persatu.
2. Tiap instruksi dilaksanakan tepat sekali, tidak ada instruksi yang diulang.
3. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi yang tertulis di algoritma.
4. Akhir instruksi merupakan akhir dari algoritma.
Urutan instruksi didalam algoritma sangat penting.Urutan instruksi menunjukan urutan logika penyelesaian masalah.

PENGULANGAN

Salah satu kelebihan komputer dibandingkan manusia adalah kemampuannya untuk melaksanakan suatu instruksi berulangkali tanpa mengenal lelah dan bosan.Pengulangan prose atau kalang(repetition atau loop) dapat dilakukan ejumlah kali atau sampai suatu kondisi tercapai.

Struktur Pengulangan

Secara umum terdiri atas 2 bagian:

1. Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan.Kondisi ini ada yang secara eksplisit oleh pemrogram atau dikelola seniri oleh komputer (implisit).
2. Badan pengulangan, yaitu bagian algoritma yang diulang.
Struktur pengulangan biasanya disertai dengan bagian:
1. Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
2. Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
Inisialisasi dan terminasi tidak selalu harus ada(optional), namun pada berbagai kasus inisialisasi umumnya diperlukan.

Struktur pengulangan secara umum :

awal pengulangan
badan pengulangan
akhir pengulangan

Di dalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda.Beberapa struktur dapat dipakai untuk masalah yang sama,namun ada notasi pengulangan yang hanya cocok untuk masalah tertentu saja.Pemilihan struktur pengulangan yang tepat bergantung pada masalah yang akan diprogram.Banyak sekali notasi struktur pengulangan, seperti :

1.Struktur For
Struktur For dipakai untuk menghasilkan pengulangan sebanyak n kali yang sudah dispesifikasikan.Jumlah pengulangan diketahui atau dapat dipastikan sebelum eksekusi program.Bentuk umumnya ada 2 macam
a.Menaik (ascending)
for pencacah <------------- nilai_awal to nilai_akhir do
aksi
endfor
b.Menurun(descending)
for pencacah <-------------nilai_akhir downto nilai_awal do
aksi
endfor

2. Struktur While
Bentuk umum struktur While adalah :
while kondisi do
aksi
endwhile
Aksi (runtunan aksi) akan dilaksanakan berulangkali selama konii bernilai true.Jika kondisi bernilai false maka pengulangan akan selesai.Agar kondisi yang mula-mula bernilai true menjadi bernilai false maka harus ada suatu nilai pengubah kondisi.

3. Struktur Repeat
Bentuk umum struktur Repeat adalah :
repeat
aksi
until kondisi
Pengulangan ini mendasarkan pada kondisi boolean.Aksi didalam badan kalang diulang sampai konisi boolean bernilai true.Jika masih false maka pengulangan akan terus berlangsung untuk itu diperlukan atau aksi yang mengubah nilai pengubah kondisi. Struktur repeat memiliki makna yang sama dengan while, dan dalam beberapa masalah kedua struktur tersebut komplemen satu sama lain.
Yang harus diperhatikan adalah bahwa pengulangan harus berhenti. Pengulangan yang tidak pernah berhenti menunjukan algoritma yang salah.

FUNGSI

Apakah fungsi itu?
Fungsi adalah modul program yang memberikan/mengembalikan (return) sebuah nilai dari tipe tertentu. Fungsi diakses dengan memanggil namanya, nama fungsi harus unik.Fungsi dapat mengandung daftar parameter formal.Parameter pada fungsi selalu merupakan parameter masukan.Jenis parameter masukan pada fungsi merupakan masukan yang digunakan oleh fungsi tersebut untuk menghasilkan nilai.
Struktur fungsi sama dengan struktur algoritma
- bagian header yang berisi nama fungsi dan spesifikasi fungsi,
- bagian deklarasi
- badan fungsi
Notasi algoritma untuk mendefinisikan fungsi adalah:
function NamaFungsi(input daftar parameter formal)-----> tipe hasil
{ spesifikasi fungsi, menjelaskan apa yang dilakukan dan yang dikembalikan fungsi }
Deklarasi
{ semua nama yang dipakai dialam algoritma fungsi dideklarasikan disini.Nama yang didefinisikan di dalam deklarasi lokal hanya dikenal dan dipakai di dalam fungsi ini saja }
Deskripsi:
{ badan fungsi, berisi instruksi-instruksi untuk menghasilkan nilai yang akan dikembalikan oleh fungsi }
return hasil ( pengembalian nilai yang dihasilkan fungsi }

LARIK

Apakah Larik?
Larik adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. setpa elemen diakses langsung melalui indeksnya.
Mendefinisikan Larik
Larik adalah struktur data yang statik, artinya, jumlah elemen larik harus sudah diketahui sebelum program dijalankan. Mendefinisikan banyaknya elemen larik berarti memesan sejumlah tempat di memori.
Contoh deklarasi larik:
Deklarasi
L : array[1..50] of integer
nama : array['a'..'j'] of string

Sejarah Algoritma

Algortima adalah jantung ilmu computer atau informatika. Banyak cabang dari ilmu komputer yang diacu dalan terminologi algoritma,misalnya algoritma perutean (routing) pesan di dalam jaringan komputer, algoritma berensenham untuk menggambar garis lurus (bidang grafik kumputer), algoritma Knuth-Morris-Pratt untuk mencari suatu pola di dalam teks (bidang information retrievel), dan sebagainya.

Ditinjau dari asal usul kata, kata “algoritma” sendiri mempunyai sejarah yang cukup aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab. Anda dikatakan algorist jika Anda menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini, namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku arab yang terkenal, yaitu Abu Ja’afarMuhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca orang barat menjadi algorism).Al-Khuwarizmi menulis buku yang berjudul Kital al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku ini kita juga memperoleh akar kata “aljabar” (algebra). Perubahan dari kata algorism menjadi algoritm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm beubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi “algoritma”.

Pada tahun 1950, kata algoritma perama kali digunakan pada “algoritma Euclidean” (Euclid’s algorithm). Euclid, seorang matematikawan Yunani (lahir pada tahun 350 M), dalam bukunya yang berjudul Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n (tapi Euclid tidak menyebut metodenya itu sebagai algoritma, baru abad modernlah ornag-orang menybut metodenya itu sebagai “algoritma Euclidean”), Pembagi terbesar dari dua buah bilangan bulat tak-negatif adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan tersebut.
Misalnya, m=80 dan n=12.
Semua factor pembagi adalah
1, 2, 4, 5, 8, 10, 16, 20, 40, 80
Dan semua factor pembagi 12 adalah
1, 2, 3, 4, 6, 12
Maka gcd(80,12)=4
Langkah-langkah mencari gcd(80,12) dengan algoritma Euclidean sebagai berikut :
80 dibagi 12 hasilnya = 6, sisa = 8 (atau: 80 = 6.
12 + 12 dibagi 8 hasilnya = 1, sisa = 4 (atau: 12 = 1.8 + 4)
8 dibagi 4 hasilnya = 2, sisa = 0 (atau: 8 = 4.2 + 0)

Karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0, yaitu 4, menjadi gcd(80,12). Jadi, gcd(80,12) = gcd(12,8) = gcd(4,0) = 4.

Contoh-contoh algoritma yang sudah dijelaskan di atas memberi dua pesan penting. Pertama, sebuah algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti,algoritma membri hasil yang benar. Menurut Donald E. Knuth dalam bukunya yang berjudul The art of Computer Programming, sebuah algoritma harus mempunyai lima ciri penting:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah trbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak brarti-dua (ambiguous). Misalnya, pernyataan “bagilah p dengan sejumlah beberapa bilangan bulat positif”,pernyataan ini dapat bermakna ganda. Berapakah yang dimaksud dengan “beberapa”? Algoritma menjadi jelas jika langkah tersebut ditulis “bagilah p dengan 10 buah bilangan bulat positif”.
3. Algoritma memiliki nol atau lebih masukan (input). Maukan ialah besaran yang diberikan kepada algoritma untuk diproses. Algoritma Euclidean mempunyai dua buah masukan, m dan n.
4. Algortima mempunyai nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan.
5. Algoritma harus sangkil (effective). Setiap langkah harus sederhana shingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.

Pengertian Algoritma 3


Algoritma merupakan tahapan-tahapan untuk mencapai hasil. Jadi Algoritma tidak selalu berhubungan dengan Ilmu Komputer. Misalkan cara membuat cake. Pertama kita harus mempersiapkan adonan cake. Kemudian apabila adonan tersebut telah jadi, panaskan oven. Kemudian taruh adonan cake tersebut kedalam Loyang yang telah dioleskan mentega dan ditaburi sedikit tepung. Apabila adonan tersebut telah dimasukkan kedalam Loyang,masukkan Loyang yang berisi adonan cake tersebut kedalam oven yang telah di tentukan suhunya tadi. Tunggulah kira-kira setengah jam. Maka adonan cake tersebut akan menjadi kue cake.

Di sini saya bukan membahas tentang kue cake, tapi saya hanya memberi gambaran logis tentang pengertian Algoritma yang sebenarnya. Yang dapat kita ambil dari contoh di atas adalah untuk menghasilkan sesuatu,maka diperlukan proses. Proses tersebut terdiri dari tahapan-tahapan yang logis. Jadi menurut pemikiran saya,secara umum Inti dari algoritma adalah tahapan-tahapan logis yang harus dipenuhi untuk mencapai suatu hasil.

Sekarang saya akan membahas Algoritma menurut pengertian ilmu Komputer. Algoritma dalam ilmu Komputer adalah urut-urutan yang logis dan tepat untuk memecahkan permasalahan yang menggunakan Komputer dengan bahasa pemrograman yang telah ditentukan seperti bahasa pascal, Visual Basic, C, atau yang lainnya. Untuk membuat sebuah program, seseorang harus memiliki daya piker yang bagus. Dan untuk menghasilkan sebuah program yang berbeda dengan yang lainnya, maka orang tersebut harus memiliki kreativitas.

Kata Algoritma berasal dari bahasa arab yaitu Algorism yang berarti proses menghitung dengan angka arab. Sedangkan Algorist adalah orang yang menghitung dengan menggunakan angka arab. Sebenarnya, Algoritma itu sendiri berasal dari nama seorang ahli matematika dari Uzbekistan yaitu Abu Abdullah Muhammad Ibn Musa al-Khwarizmi yang dibaca oleh orang barat menjadi Algorism.

Pengertian Algoritma 2

Algoritma adalah dasar dan pondasi untuk membuat suatu program komputer yang baik. Program komputer yang menggunakan algoritma dan flowchart akan menghasilkan program yang tersusun rapi. Tutorial berikut akan menjelaskan dasar dasar algoritma komputer.

PENGERTIAN ALGORITMA

Algoritma adalah metode untuk menyelesaikan suatu permasalahan secara bertahap. Contoh sederhana suatu algoritma adalah resep suatu masakan. Pada resep suatu masakan terdapat langkah langkah penyelesaian untuk membuat masakan itu.
Komputer adalah suatu mesin. Untuk dapat melakukan pekerjaannya komputer membutuhkan instruksi yang diberikan pada komputer itu. Kumpulan instruksi umum untuk berbagai jenis komputer disebut algoritma.

KARAKTERISTIK ALGORITMA

Algoritma komputer memiliki beberapa karakteristik yang harus dipenuhi agar menjadi algoritma yang baik. Karakteristik itu antara lain:

Presisi.
Langkah langkah penyelesaian masalah dalam algoritma haruslah secara presisi (tepat) dinyatakan, tidak mengandung ambiguitas.

Keunikan.
Hasil pertengahan dalam tiap langkah eksekusi suatu algoritma didefinisikan secara khas dan merupakan pengolahan dari hasil eksekusi langkah sebelumnya.

Keterbatasan.
Algoritma harus terbatas dan berhenti pada suatu titik setelah semua ekesekusi dilaksanakan.
Input.
Algoritma menerima input.

Output.
Algoritma menghasilkan output.

General.
Algoritma berlaku untuk suatu kumpulan input tertentu.

Contoh algoritma:
Input: n
Output: 1/1 + 1/2+ ... +1/n1. jumlah = 0
2. i= 0
3. i=i+1
4. jumlah = jumlah + 1/i
5. ulangi langkah 3 dan 4 sehingga i==n
Algoritma pada contoh adalah algoritma untuk menghitung

Pada langkah 1, nilai 0 diisikan pada variabel jumlah. jadi jumlah pada langkah pertama bernilai 0. Tanda = adalah operator penugasan dengan makna “kopikan 0 kepada jumlah” atau ” gantikan nilai tertentu jumlah dengan 0″.Langkah 2 juga menunjukkan hal yang sama namun dengan nama variabel yang berbeda. Langkah 3 menunjukkan instruksi “kopikan jumlah antara isi variabel i dan 1 kepada variabel i”. Langkah 4 menunjukkan instruksi “kopikan jumlah antara isi variabel jumlah dengan 1/isi variabel i pada variabel jumlah”. Langkah 5 menunjukkan instruksi untuk mengulangi langkah langkah 3 dan 4 sehingga terpenuhi syarat i = = n. Operator = = disebut operator equalitas yang bermakna benar dan salah. Jika i sama dengan n maka nilainya benar dan jika i tidak sama dengan n maka nilainya salah.

Algoritma ini dikatakan presisi karena tiap langkahnya didefinisikan secara tepat dan tidak mengandung pemahaman yang ambigu ketika instruksi instruksinya dilaksanakan semua orang atau mesin. Misalkan ada instruksi “jumlahkan i”. Instruksi ini mengandung ambigu karena tidak terdapat keterangan penjumlahnya. Algoritma ini dikatakan unik karena hasil pertengahan dalam tiap langkah eksekusi suatu algoritma didefinisikan secara khas dan merupakan pengolahan dari hasil eksekusi langkah sebelumnya.Misalkan pada langkah 3. Langkah 3 akan menghasilkan nilai tertentu jika nilai i telah diketahui. Pada proses pertama nilai i adalah hasil keluaran dari langkah 2 yaitu bernilai 0 sehingga nilai keluaran i pada proses pertama langkah 3 adalah 1. Algoritma ini dikatakan terbatas karena dimulai dari langkah 1 dan diakhiri jika syarat i = = n bernilai benar. Algoritma ini input berupa nilai yang dimasukkan pada variabel n dan memiliki output yang berupa hasil dari operasi 1/1 + 1/2+ … +1/n. Algoritma ini dikatakan general karena algoritma ini dapat diterapkan untuk setiap nilai real yang dimasukkan pada variabel n.

(Diringkas oleh Abu ‘Ahmad ‘Abdul ‘Alim Al Mutafaqqih dari buku C for Scientists and Engineers karya Richard Johnsonbaugh dan Martin Kalin penerbit Prentice Hall cetakan 1997 halaman 2 s/d 4 )

Sejarah Algoritma 3


Pada artikel-artikel sebelumnya kita sering menemukan kata algoritma, tahukah anda mengenai asal-usul algoritma?. Menurut para ahli sejarah matematika, algoritma (algorithm) merupakan latinisasi dari nama Muhammad bin Musa Al-Khuwarizmi seorang ahli matematika, astrologi, astronomi dan geografi yang dilahirkan pada tahun 164 H (780 M) di kawasan Khwarizm, Asia Tengah dan wafat di Baghdad pada tahun 232 H (847 M). Berbagai karya penting telah dihasilkan diantaranya adalah: buku Aljabar wal Muqabalah, tabel trigonometri Arab, buku Shuratul Ardh dan Taqwimul Buldan yang menjadi sumbangan penting untuk ilmu Geografi, serta Dixit Algorizmi atau Algoritmi de Numero Indorum sebuah manuskrip yang diyakini menjadi cikal bakal lahirnya Algoritma.


Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab, namun pada abad ke-18 istilah ini telah berkembang menjadi algoritma suatu urutan langkah atau prosedur yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Sejarah Algoritma 2

Asal-usul kata Algoritma

Istilah algoritma, mungkin bukan sesuatu yang asing bagi kita. Teman-teman ada yang tahu arti kata ‘algoritma’? Ditinjau dari asal-usul katanya, kata ‘Algoritma’ mempunyai sejarah yang agak aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka Arab. Seseorang dikatakan ‘Algorist’ jika 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 terkenal, yaitu Abu Abdullah Muhammad Ibnu Musa Al-Khuwarizmi dibaca orang barat menjadi Algorism.

Definisi Algoritma

Definisi Algoritma adalah “langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Contoh sederhana adalah penyusunan sebuah resep makanan, yang biasanya terdapat langkah-langkah cara memasak masakan tersebut. Tapi, algoritma umumnya digunakan untuk membuat diagram alur (flowchart) dalam ilmu komputer / informatika.

Penemu konsep Algoritma dan Aljabar

Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi. Di literatur barat, beliau lebih terkenal dengan sebutan Algorism. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algoritma yang ditemukannya. Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840) lahir di Khwarizm (Kheva), kota di selatan sungai Oxus (sekarang Uzbekistan) tahun 770 masehi. Kedua orangtuanya kemudian pindah ke sebuah tempat di selatan kota Baghdad (Irak), ketika ia masih kecil. Khwarizm dikenal sebagai orang yang memperkenalkan konsep algoritma dalam matematika, konsep yang diambil dari nama belakangnya.

Al khwarizmi juga adalah penemu dari beberapa cabang ilmu matematika
yang dikenal sebagai astronom dan geografer. Ia adalah salah satu ilmuwan matematika terbesar yang pernah hidup, dan tulisan-tulisannya sangat berpengaruh pada jamannya. Teori aljabar juga adalah penemuan dan buah pikiran Al khwarizmi. Nama aljabar diambil dari bukunya yang terkenal dengan judul “Al Jabr Wa Al Muqabilah”. Ia mengembangkan tabel rincian trigonometri yang memuat fungsi sinus, kosinus dan kotangen serta konsep diferensiasi.

Pengaruhnya dalam perkembangan matematika, astronomi dan geografi tidak diragukan lagi dalam catatan sejarah. Pendekatan yang dipakainya menggunakan pendekatan sistematis dan logis. Dia memadukan pengetahuan dari Yunani dengan Hindu ditambah idenya sendiri dalam mengembangkan matematika. Khwarizm mengadopsi penggunaan angka nol, dalam ilmu aritmetik dan sistem desimal. Beberapa bukunya banyak diterjemahkan kedalam bahasa latin pada awal abad ke-12, oleh dua orang penerjemah terkemuka yaitu Adelard Bath dan Gerard Cremona. Risalah-risalah aritmetikanya, seperti Kitab al-Jam’a wal-Tafreeq bil Hisab al-Hindi, Algebra, Al-Maqala fi Hisab-al Jabr wa-al-Muqabilah, hanya dikenal dari translasi berbahasa latin. Buku-buku itu terus dipakai hingga abad ke-16 sebagai buku pegangan dasar oleh universitas-universitas di Eropa.

Buku geografinya berjudul Kitab Surat-al-Ard yang memuat peta-peta dunia pun telah diterjemahkan kedalam bahasa Inggris. Buah pikir Khwarizmi di bidang geografi juga sangat mengagumkan. Dia tidak hanya merevisi pandangan Ptolemeus dalam geografi tapi malah memperbaiki beberapa bagiannya. Tujuh puluh orang geografer pernah bekerja dibawah kepemimpinan Al khwarizmi ketika membuat peta dunia pertama di tahun 830. Ia dikisahkan pernah pula menjalin kerjasama dengan Khalifah Mamun Al-Rashid ketika menjalankan proyek untuk mengetahui volume dan lingkar bumi.

sumber : http://www.e-smartschool.com/PNK/001/PNK0010008.asp

Pengertian Algoritma

Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma.
Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.

Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Sejarah istilah "algoritma"Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Jenis-jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.

Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap;
dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.