sandysipayung.files.wordpress.com · web viewalgoritma dan hubungannya dengan pemrograman oleh :...
TRANSCRIPT
ALGORITMA DAN HUBUNGANNYA DENGAN
PEMROGRAMAN
Oleh :
Kelompok 1
1.A. Fabiola Awalet (H121 12 013)
2.Aliah Haerunnisa (H121 12 003)
3.Anggun Sarlina S (H121 12 017)
4.Nirwana Daswan (H121 12 253)
5.Selpadina Indriani (H121 12 009)
6.Siti Aisyah Aldillah (H121 12 267)
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS HASANUDDIN
MAKASSAR
2013
KATA PENGANTAR
Assalamu Alaikum Wr. Wb.
Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa karena berkat
rahmat-Nya sehingga kami bisa menyelesaikan makalah Pengantar Pemrograman
yang berjudul “ Algoritma dan Hubungannya dengan Pemrograman “.
Dalam penyusunan makalah ini, kami telah berusaha semaksimal mungkin
sesuai dengan kemampuan kami. Namun sebagai manusia biasa, kami tidak luput
dari kesalahan dan kekhilafan baik dari segi teknik penulisan maupun tata bahasa.
Walaupun demikian, kami berusaha sebisa mungkin menyelesaikan makalah ini
meskipun tersusun sangat sederhana namun mudah-mudahan memberi manfaat
yang tidak sederhana .
Kami menyadari bahwa keberhasilan penyusunan makalah kami ini sangat
didukung oleh kerja sama antara dosen dan beberapa kerabat yang memberi
berbagai masukan yang bermanfaat bagi kami. Untuk itu kami mengucapkan
terima kasih kepada pihak tersebut yang telah bersedia meluangkan waktunya
untuk memberikan arahan dan saran demi kelancaran penyusunan makalah ini.
Semoga makalah ini dapat bermanfaat bagi kami dan para pembaca pada
umumnya. Kami mengharapkan saran serta kritik dari berbagai pihak yang
bersifat membangun.
Wassalamu Alaikum Wr. Wb.
Makassar, 20 Februari 2013
Kelompok 1
BAB IPENDAHULUAN
1.1 Latar BelakangPesatnya teknologi, terutama teknologi komputer sudah tak
bisa dipungkiri lagi, bagi yang mengikuti perkembangannya, ia tidak akan dipandang sebelah mata. Sebaliknya, bagi yang tidak mengikuti perkembangannya, bersiaplah untuk mundur secara suka rela dari panggung kompetisi. Ibarat wabah, teknologi komputer sudah menyusupi hampir semua bidang kehidupan manusia.
Dari pemerintah pusat sampai tingkat pemerintah desa, perusahaan-perusahaan, supermarket, minimarket, perguruan tinggi, SLTA, SLTP, bahkan SD hampir semuanya mengenal komputer. Saat ini, yang mempunyai lingkungan yang semakin luas dan banyak diminati, juga dapat digunakan untuk menghasilkan uang adalah dunia pemrograman komputer. Dalam dunia pemrograman komputer, dikenal algoritma dan banyak bahasa pemrograman, seperti C, C++, Pascal, Basic, Java, dan lain-lain.
Agar suatu perintah dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja.
Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan
langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan.
Dari uraian tersebut dapat dilihat besarnya peranan algoritma. Oleh karena itu, dalam makalah ini kami akan membahas mengenai “Algoritma dan Hubungannya Dengan Pemrograman”.1.2 Tujuan
Makalah ini disusun dengan tujuan sebagai sarana untuk mengikuti pesatnya perkembangan teknologi komputer di masa sekarang ini, salah satunya di dunia pemrograman yang sekarang semakin banyak diminati. Selain itu, tujuan disusunnya makalah ini adalah untuk memenuhi tugas SCL matakuliah Pengantar Pemrograman.
BAB IIPEMBAHASAN
2.1 Pengertian Algoritma dan Pemrograman Pengertian Algoritma
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda 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 yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.
Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism
sering dikelirukan dengan Arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma. Definisi Algoritma1. Teknik penyusunan langkah-langkah penyelesaian masalah
dalam bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis.
2. Dan kamus besar bahasa Indonesia (Balai Pustaka 1988) secara formal mendefinisikan algoritma sebagai berikut:“Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.”
3. “Algoritma adalah urutan langkah-langkah logis penyelesaian masalahyang disusun secara sistematis dan logis”. Kata logis merupakan kata kuncidalam algoritma. Langkah-langkah dalam algoritma harus logis dan harusdapat ditentukan bernilai salah atau benar.Proses Algoritma Contoh langkah
1.Membuat Kue
Resep Kue Campurkan 2 butir telur kedalam adonan, kemudian kocok hingga mengembang
2.Membuat Pakaian
Pola Pakaian Gunting kain dari pinggir kiri bawah kea rah kanan atas sepanjang 15 cm
3.Praktikum Kimia
Petunjuk Praktikum
Campurkan 10 ml Asam Sulfat ke dalam 15 ml Natrium hidroksida
Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat. Algoritma bisa ditemukan dalam kehidupan sehari-hari, misalnya sebagai berikut:
Pengertian PemrogramanDefinisi Program dan Pemrograman Program adalah perwujudan atau implementasi teknis
Algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer
Pemrograman sendiri secara definitif dapat dikatakan sebagai proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman. Atau secara ringkas dapat dikatakan bahwa pemrograman adalah proses membuat program.
Hubungan Algoritma, Pemrograman, dan Komputer :Komputer adalah kumpulan beberapa perangkat keras, yang
untuk mengoperasikannya dibutuhkan program sesuai dengan kebutuhan. Program komputer sendiri membutuhkan algoritma sebagai dasar pembuatan program.
Hubungannya, Algoritma diumpamakan sebagai nyawa dari program tersebut sedangkan program adalah bahasa dari algoritma sedangkan komputer yaitu eksekutornya.
Gambar Diagram Hubungan Algoritma, Pemrograman dan
ProgramDiagram di atas dapat menggambarkan hubungan antara
pemrograman dengan algoritma dan program. Dalam diagram ditunjukkan bahwa pemrograman adalah proses yang dimulai dari munculnya suatu permasalahan yang diinginkan untuk diselesaikan secara komputerisasi hingga menghasilkan sebuah produk yaitu program. Ketika masalah itu muncul, maka tahap penyelesaiannya adalah dimulai dengan membuat algoritma penyelesaian masalah yang kemudian melalui suatu bahasa pemrograman yang ditentukan dan dipilih serta digunakan berdasarkan penyesuaian algoritma yang telah dibuat, maka dihasilkanlah suatu program yang sesuai dengan keinginan.2.2 Konsep AlgoritmaCiri-Ciri Algoritma
Donald E. Knuth, seorang penulis beberapa buku algoritma abad XX, menyatakan bahwa ada beberapa cirri algoritma, yaitu:
a. Algoritma mempunyai awal dan akhir: Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma memiliki langkah yang terbatas.
b. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (not ambiguous).
c. Memiliki masukan (input) atau kondisi awal.
d. Memiliki keluaran (output) atau kondisi akhir.e. Algoritma harus efektif; bila didikuti benar-benar akan
menyelesaikan persoalan. Sifat Algoritma
Berdasarkan ciri algoritma yang dipaparkan oleh Donald Knuth dan definisi Algoritma maka dapat disimpulkan sifat utama suatu Algoritma, yaitu sebagai berikut:a. Input: Suatu Algoritma memiliki input atau kondisi awal
sebelum algoritma dilaksanakan.b. Output: suatu Algoritma akan menghasilkan output setelah
dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.
c. Definiteness: langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakn oleh pengguna logaritma.
d. Finiteness: Suatu algoritma harus memberi kondisi akhir atau output setelah melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau input yang diberikan.
e. Effectiveness: Setiap langah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya member solusi sesuai yang diharapkan.
f. Generality: langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang akan diberikan, tidah hanya untuk himpunan tertentu.Suatu algoritma tentu dapat ditulis dengan menggunakan
bahasa sehari-hari. Namun, algoritma seperti itu masih sulit diterjemahkan apabila akan diimplementasikan ke dalam suatu bahasa pemrograman komputer.
Setiap algoritma tentu saja memerlukan suatu langkah “peralihan” kesuatu bahasa pemrograman ketika akan dilaksanakan dengan menggunakan komputer. Sehingga semakin dekat bentuk algoritma ini ke bentuk program komputer maka semakin mudah diterjemahkan.Struktur Algoritma
Agar algoritma dapat ditulis lebih teratur maka sebaiknya dibagi ke dalam beberapa bagian. Salah satu struktur yang sering dijadikan patokan dalah sebagai berikut: Bagian Kepala (Header) : memuat nama algoritma serta
informasi atau keterangan tentang algoritma yang ditulis. Bagian Deklarasi/ Definisi Variabel : memuat definisi
tentang nama variable, nama tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam algoritma.
Bagian Deskripsi/ Rincian Langkah: memuat langkah-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulagi, yang mengubah data input menjadi output, dan sebagainya.Contoh: algoritma untuk menghitung luas sebuah lingkaran apabila jari-jarinya diberikan.
Algoritma Luas_lingkaran{menghitung luas sebuah lingkaran apabila jari-jari lingkaran tersebut diberikan}Deklarasi{Definisi nama tetapan}
const N = 10;const phi = 3.14;
{Definisi nama peubah/variabel}real jari_jari, luas;
Deskripsiread(jari-jari);luas= phi* jari_jari* jari_jari;write(luas);
Penyajian AlgoritmaBeberapa notasi yang digunakan dalam penulisan algoritma :
1. Notasi I : untaian kalimat deskriptif
2. Notasi II : diagram alir (flow chart)
3. Notasi III : pseudo-code; kode yang mirip dengan kode pemrograman yang
sebenarnya
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
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.2 Tipe Data, Variabel, Nilai dan EkspresiTipe DataAda dua kategori tipe data yaitu:a. Tipe Dasar, yaitu tipe data yang selalu tersedia pada setiap
bahasa pemrograman, antara lain:Bilangan bulat (integer); bilangan atau angka yang tidak memiliki titik decimal atau pecahan, seperti 10, +255, -1024, +32767. Dituliskan sebagai integer atau int. Operasi untuk bilangan bulat adalah operasi aritmatik dan operasi pembanding.Bilangan biasa (real); bilangan atau angka yang bisa memiliki titik decimal atau pecahan, seperti 235.45, -987.3456. Dituliskan sebagai real. Juga berlaku operasi aritmatik dan pembanding.Bilangan tetap (const); tipe bilangan, baik bernilai bulat maupun tidak, yang nilainya tidak berubah selama algoritma dilaksanakan. Dituliskan sebagai const.Karakter (char); data tunggal yang mewakili semua huruf, symbol baca, dan juga symbol angka yang tidak sioperasikan secara matematis, misalnya: ‘A’,’B’,…,’Z’, ’?’, ‘!’. Dituliskan sebagai char. Jangkauannya meliputi semua karakter dalam kode ASCII, atau yang tertera pada setiap tombol keyboard.Logik (logical); tipe data yang digunakan untuk memberi nilai pada hasil pembandingan, atau kombinasi
pembandingan. Dituliskan sebagai Boolean. Jangkauan nilai ada dua yaitu true dan false. Sementara, operasi untuk data jenis logik, antara lain and, or, dan not. Contoh: 45 > 56 hasilnya false.
b. Tipe Bentukan, yaitu tipe data yang dibentuk dari kombinasi tipe dasar, antara lain:
Array (Larik); 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 mendefinisikannya ada 2 macam, yaitu:
o Nilai_ujian:array [1..10] of integer; atauo int nilai_ujian[10];
Kedua definisi di atas menunjukkan bahwa nilai_ujian adalah kumpulan dari 10 nilai bertipe bilangan bulat.String; tipe data bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda kutip.Nama, alamat, dan judul adalah tipe string. Cara mendefinisikannya adalah:
o String Nama, Alamat; atauo Nama, Alamat: String;
Record (rekaman); 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: nomor_stb, nama, umur, t4lahir, jenkel.Cara mendefinisikannya adalah:
Type DataMhs : record
< nomer_stb : integer, nama_mhs : string umur : integer t4lahir : string jenkel : char >
VariabelVariabel adalah nama yang mewakili suatu elemen data
seperti: jenkel untuk jenis kelamin, t4lahir untuk tempat lahir, alamat untuk alamat, dll. Ada aturan tertentu yang waijb diikuti dalam pemberian nama variabel, antara lain:
Harus dimulai dengan abjad, tidak boleh dengan angka atau symbol
Tidak boleh ada spasi di antaranya Jangan menggunakan simbol-simbol yang membingungkan
seperti titik dua, titik koma, dan sebagainya. Sebaiknya memiliki arti yang sesuai dengan elemen data Sebaiknya tidak terlalu panjang.
Contoh variabel yang benar : Nama, Alamat, Nilai_UjianContoh variabel yang salah: 4XYZ, IP rata.Pemberian Nilai
Ada dua cara yang dapat digunakan untuk memberi nilai pada suatu variabel, yaitu melalui proses assignment dan pembacaan.Pemberian nilai dengan cara assignment mempunyai bentuk umum sebagai berikut:
Variabel nilai; Variabel1 variabel2; Variabel ekspresi;
Contoh assignment: Nama “Ali bin Abu Thalib”;
Jarak 100.56; X Jarak; Rentang X + 50 – 3* Y;Pemberian nilai dengan cara pembacaan dapat dilakukan melalui instruksi pembacaan dengan bentuk umu sebagai berikut:
o read(variabel); atauo read(variabel)1,variabel2,…);Contoh pembacaan data:o read(Nama);o read(Jarak, Rentang, X);
Menampilkan NilaiAgar hasil pelaksanaan algoritma dapat dikomunikasikan
atau ditayangkan maka nilai variabel yang telah diproses dalam algoritma dapat ditampilkan. Instruksi untuk menampilkan nilai variabel adalah
Contoh penampilan nilai adalah sebagai berikut:o write(“nama anda : ”, Nama);o write(“nilai ujian = ”, nilai);o write(“Jumlah variabel = ”, X+Y+Z);
Ekspresi (Expression)Ekspresi adalah transformasi data dan peubah dalam bentuk
persamaan yang direlasikan oleh operator dan operand. Operand adalah data, tetapan, peubah, atau hasil dari suatu fungsi, sedangkan operator adalah symbol-simbol yang memiliki fungsi untuk menghubungkan operand sehingga terjadi transformasi. Jenis-jenis operator adalah sebagai berikut:
o Operator aritmatika: operator untuk melakukan fungsi aritmatika seperti: +(menjumlah), -(mengurangkan), *(mengalikan), /(membagi)
o Operator relational: operator untuk menyatakan relasi atau perbandingan antara dua operand, seperti: >(lebih besar, <(lebih kecil), >=(lebih besar atau sama), <=(lebih kecil atau sama), ==(sama), !=(tidak sama), atau ><, <>.
o Operator logik: operator untuk merelasikan operand secara logis, seperti &&(and), || (or), dan !(not)
o Operator string: operator untuk memanupulasi string seperti +(concatenation), len (panjang string), dan substr(substring, mencuplik).
Berdasarkan jenis operator yang digunakan maka da empat macam ekspresi, yaitu ekspresi aritmetika, ekspresi relational, ekspresi logik, dan ekspresi string.
Ekspresi Aritmetika: ekspresi yang memuat operator aritmetika, contoh:
T 5 * (C+32) Y 5 * ( (a+b) / (c+d) + m / (e * f) );
Ekspresi Relational: ekspresi yang memuat operator relational, contoh:
Nilai_A > Nilai_B ( x + 57) != ( y +34)
Ekspresi Logik: ekspresi yang memuat operator logic, contoh:
m (x > y) && (5 + z) Ekspresi String: ekspresi dengan operator string,
contoh: Alamat “Jl.P.Kemerdekaan” + “Km 9
Tamalanrea)”
BAB IIIPENUTUP
3.1 Kesimpulan Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara sistematis dan logis. Program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh computer. Sedangkan Pemrograman adalah proses membuat program.
Bahasa Pascal adalah bahasa pemrograman yang terstruktur dan lebih
mendekati bahasa manusia (bahasa Inggris) sehingga sangat cocok
diterapkan dalam dunia pendidikan.
Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar
bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia
(TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI
(International Olympiad in Informatics).
Pemrograman adalah proses yang dimulai dari munculnya suatu
permasalahan yang diinginkan untuk diselesaikan secara komputerisasi
hingga menghasilkan sebuah produk yaitu program. Ketika masalah itu
muncul, maka tahap penyelesaiannya adalah dimulai dengan membuat
algoritma penyelesaian masalah yang kemudian melalui suatu bahasa
pemrograman yang ditentukan dan dipilih serta digunakan berdasarkan
penyesuaian algoritma yang telah dibuat, maka dihasilkanlah suatu
program yang sesuai dengan keinginan.
DAFTAR PUSTAKAhttp://belajar-program.ueuo.com
http://google.com
http://nusinau.com
http://wikipedia.com
http://wismarini.staff.unisbank.ac.id/2011/12/09/pengenalan-dasar-algoritma-
dan- pemrograman-3/