LABORATORIUM KOMPUTER ALGORITMA & PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA UNIVERSITAS DAYANU IKHSANUDDIN BAUBAU MAKALAH PRAKTIKUM ALGORITMA & PEMROGRAMAN NAMA : SELVIA NIM : 14 650 249 FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS DAYAHUN IKHSANUDDIN BAUBAU
33
Embed
file · Web viewlaboratorium komputer. algoritma & pemrograman. jurusan teknik informatika. universitas dayanu ikhsanuddin baubau
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
LABORATORIUM KOMPUTERALGORITMA & PEMROGRAMAN
JURUSAN TEKNIK INFORMATIKAUNIVERSITAS DAYANU IKHSANUDDIN BAUBAU
MAKALAH
PRAKTIKUM ALGORITMA & PEMROGRAMAN
NAMA : SELVIA
NIM : 14 650 249
FAKULTAS TEKNIK
JURUSAN TEKNIK INFORMATIKA
UNIVERSITAS DAYAHUN IKHSANUDDIN BAUBAU
TAHUN 2014
KATA PENGANTAR
Alhamdulillah, puji syukur penulis haturkan kehadirat Allah SWT. Atas
rahmat-Nya lah Penulis dapat menyelesaikan makalah ini tepat pada waktunya.
Tak lupa Penulis juga menghaturkan terima kasih yang sebesar-besarnya kepada
semua pihak yang telah mendukung dan membantu Penulis dalam menyelesaikan makalah ini.
Dalam makalah yang berjudul ALGORITMA DAN PEMROGRAMAN
ini, akan dibahas mengenai pengertian Algoritma dan Pemrograman, sejarah
Algoritma itu sendiri, kemudian dasar-dasar pemrograman yang menjelaskan
tentang variabel, tipe data, dan operator yang terdapat dalam bahasa
pemrograman. Selain itu, untuk mempermudah pemahaman juga sebagai bahan
latihan, Penulis juga menyertakan contoh program yang dapat dipraktekkan oleh para
pembaca.
Namun demikian, Penulis merasa masih banyak sekali kekurangan dalam
penyusunan makalah ini, sesuai dengan pepatah yang mengatakan bahwa tak ada gading yang tak
retak. Oleh karena itu, segala saran dan kritik yang membangun dari yang lebih berkompeten di
bidang Algoritma dan Pemrograman, penulis terima dengan penuh rasa terima
kasih.
Akhir kata, Penulis berharap makalah ini dapat bermanfaat bagi para
pembaca, khususnya bagi yang akan mempelajari Algoritma dan Pemrograman.
Paradigma pemrograman ini merupakan trend baru dan sangat
populr akhir-akhir ini.
Paradigma pemrograman yang lain adalah pemrograman
fungsional, pemrogramn deklaratif dan pemrograman konkuren.
Pada kesempatan ini penulis hanya menyajikan paradigma
pemrograman procedural saja.
Keuntungan pemakaian algoritma adalah: logika pemecahan masalah
dapat
dibuat bertingkat (mulai dari global menuju terperinci),
algoritma merupakan bentuk fleksibel untuk diterapkan keberbagai
bahasa pemrograman.
Jadi Algoritma adalah:
1. penyusunaan aspekproses logika dari suatu pemecahan masalah
tanpa melihat karakteristik bahasa pemrograman yang akan
digunakan.
2. Urutan notasi logika yang merupakan hasil analiss dan
rancangan sistematik dari strategi pemecahan maslah, untuk
menggambarkan urutan langkah kerja yang jika dikerjakan akan
membawa ketujuannya.
3. Urutan logika langkah kerja untuk meyelesaikan suatu masalah.
Contoh algoritma dalam kehidupan sehari-hari, misalnya:
menjahit pakaian, membuat kue, jadwal harian, panduan
merakit komputer, dan lain-lain.
Beberapa notasi yang digunakan dalam penulisan algoritma :
1. Notasi I : untaian kalimat deskriptif
2. Notasi II : diagram alir (flow chart)
3. Notasi III : psudo-code
10
8
Contoh masalah : menghitung luas segiempat.
Notasi I :
Algoritma Luas_Segiempat
Menghitung luas segiempat dengan memasukkan nilai lebar dan
panjang
segiempat
Deklarasi
Luas,panjang,lebar : bilangan bulat
Deskripsi
1. Masukkan nilai lebar dan panjang
2. Hitung luas sama dengan panjang kali lebar
3. Tampilkan Luas
11
Simbol-simbol program flowchart
Notasi II :
Notasi III :
Algoritma Luas_Segiempat
Menghitung luas segiempat dengan memasukkan nilai lebar dan
panjang
segiempat
Deklarasi
Luas,panjang,lebar :integer
Deskripsi
Input(n)
Luas= panjang * lebar
Output(Luas)
2.3. ATURAN PENULISAN ALGORITMA
Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah
tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan
dimengerti, karena memang tidak ada notasi baku dalam penulisan
12
algoritma. Tiap orang dapat membuat aturan penulisan dan notasi algoritma
sendiri. Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa
pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden
dengan notasi bahasa pemrograman secara umum.
a. Aturan Penulisan Algoritma
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :
Judul (Header)
Kamus
Algoritma
Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai
setiap bagian tersebut dituliskan diantara tanda kurung kurawa contoh {
Komentar }. Notasi algoritmis yang dituliskan diantara tanda ini tidak
akan dieksekusi oleh program.
Contoh :
Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan nama dengan menentukan apakah teks tersebut adalah
program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan
spesifikasi singkat dari teks algoritma tersebut. Nama algoritma
13
Judul{ Komentar mengenai Algoritma seperti cara kerja program, Kondisi awal dan kondisi akhir dari algoritma }
Kamus{ Pada bagian ini, didefinifikan nama konstanta, nama variable, nama prosedur dan nama fungsi }
Algoritma{ Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak diantara tanda kurung kurawa akan dianggap sebagai notasi algoritma yang akan berpengaruh terhadap kebenaran algoritma }
sebaiknya singkat namun cukup menggambarkan apa yang akan
dilakukan oleh algoritma tersebut.
Contoh :
Catatan :
Untuk memisahkan antara kata dalam judul algoritma menggunakan
tanda “_” bukanlah suatu keharusan. Anda dapat menuliskan
LuasLingkaran atau Luas_Lingkaran. Tetapi sebaiknya anda tidak
menggunakan spasi “ “ untuk memisahkan antara kata di dalam nama
algoritma.
Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai tempat untuk
mendefinisikan :
Nama type
Nama konstanta
Nama variable
Nama fungsi
Nama prosedur
Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah
nama dalam kamus sebaiknya dikelompokan menurut jenis nama
tersebut. Nama variabel belum terdefinisi nilainya ketika didefinisikan.
Pendefinisian nama konstanta sekaligus memberikan harga konstanta
tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain
/ range serta spesifikasinya. Pendefinisian nama prosedur sekaligus
dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur
(kondisi awal “Initial State”, Kondisi akhir “ Final State” dan proses
yang dilakukan).
14
Program Luas_Kubus ← {Judul Algoritma}{ Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan lalu mencetak hasilnya kepiranti keluaran} ← {Spesifikasi Algoritma}
Contoh :
Kamus
{Nama type, hanya untuk type yang bukan type dasar}
type jam : <hh,mm,ss :integer> {Type jam terdiri dari 3 masukan yaitu
“hh” sebagai jam. “mm” sebagai menit dan “ss” sebagai detik}
{Nama konstanta, harus menyebutkan type dan nilai }
constant phi : real = 3,14159
constant nama : string = ‘Alex’
constant benar : boolean = true
{Nama Informasi, menyebutkan type}
x,y : integer {suatu nilai yang bertype bilangan bulat}
NMax : real {nilai maksimum yang bertype bilangan real}
Nama : string {suatu nilai yang merupakan kumpulan character}
P : point {suatu nilai pada bidang kartesian}
Cari : Boolean {suatu nilai logika}
Algoritma (Deskripsi)
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi
atau pemanggilan aksi yang telah didefinisikan. Komponen teks
algoritma dalam pemrograman procedural dapat berupa :
Instruksi dasar seperti input/output, assignment
Sequence (runtutan)
Analisa kasus
Perulangan
Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan
Algoritmainput (c,d) {menerima masukan 2 bilangan c dan d}if c < d then {operasi kondisional}e ← a + b {e di assignment oleh nilai a dan b}
elsee ← a – boutput (e) {hasil keluaran berupa bilangan e}
Catatan :
Untuk kata-kata input, output, if then else, output akan dipelajari lebih
mendalam dalam bab-bab selanjutnya.
Contoh Penyelesaian Masalah Oleh Algoritma
Mencetak String “Selamat Belajar Algoritma dan Pemrograman” ke
piranti Keluaran.
16
Program Cetak_string{mencetak string “Selamat Belajar Algoritma dan Pemrograman” ke pirantikeluaran}Kamus{tidak ada}AlgoritmaOutput (‘Selamat Belajar Algoritma dan Pemrograman’)
Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti
masukan dan menuliskan hasilnya ke piranti keluaran.
17
Contoh program dalam bahasa pascal untuk menghitung nilai maksimal:
18
Program Nilai_Maksimal{Menentukan nilai tertinggi yang dibaca dari piranti masukan dan hasilnya dicetak ke piranti keluaran}
Kamushasil,x,y : integer {hasil merupakan variabel untuk
menampung nilai keluaran}{x,y adalah variabel untuk menampung nilai masukan}
Algoritmainput (x,y) {membaca nilai x dan y dari piranti masukan}if x < y then {operasi kondisional}hasil ← x {hasil di assignment oleh nila terbesar}
elsehasil ← y
output (hasil) (nilai didalam variabel hasil dicetak ke piranti keluaran}
program maximal;uses wincrt;type tabint =array[1..100] of integer;var M: array[1..100]of integer; nilai: tabint; n,i:integer; max,temp:integer;
function maxtab(n:integer):integer;begin write('masukkan jumlah bilangan =');readln(M[i]); for i:= 1 to n do begin if(M[i])>max then max:=M[i]; end;
writeln('Nilai maximum adalah:',max); for i:=1 to n do begin if (i mod 2=1) then begin temp:= M[i]; M[i]:= M[i+1]; M[i+1]:= temp; end; writeln('M[i]'); end;
end.
BAB III
PENUTUP
3.1. Kesimpulan
Imperative program beranalogi dibawah bahasa pemograman yang memacu
atau berorientasi pada objek objek system informasi yang mengarah pada
system informasi. Pembuatan program program komputer dengan
penguasaan data yang ada pada bahasa pemograman untuk dikuasai agar
menjadi seorang programmer handal. Beberapa sub dari bidang
pemograman imperative diantaranya adalah variable dan penugasan ;
perintah tidak struktur ; perintah tidak terstruktur ; subprogram, prosedur
dan fungsi; dan penanganan eksepsi. Mengenali dan memberi contoh
variable dan penguasaaanya, mengenali bentuk perintah tidak terstruktur,
mengenali bentuk perintah terstruktur, dapat menjelaskan bentuk-
bentuk struktur control, dapat menuliskan subprogram, prosedur, dan fungsi,
dan dapat mengenali serta menjelaskan beberapa bentuk eksepsi dan
penangananya.
3.2 Saran
Saran saya sebagai penulis ialah, bahwa setidaknya kita harus selalu
konsisten dalam belajar agar dapat bersaing di era globalisasi.
Demikian pula dalam mempelajari algoritma dan pemrograman, sehingga
kita selaku mahasiswa atau peserta didik dapat dibekali dengan
kecakapan menggunakan komputer sebagai sarana dalam mencapai tujuan
sehari-hari. Sekiranya saran yang saya buat ini jika ada kata dan penulisan
yang salah mohon dimaafkan. Wassalamualaikum Wr. Wb.