algoritmaalgoritma pemrograman pemrograman · pdf filecontoh : bahasa pascal, c, c++ s1 teknik...

22
Algoritma Algoritma Pemrograman Pemrograman Pertemuan Ke-1 (Pengantar Algoritma) Rahmady Liyantanto S1 Teknik Informatika-Unijoyo

Upload: vanxuyen

Post on 07-Feb-2018

240 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

AlgoritmaAlgoritma PemrogramanPemrogramanPertemuan Ke-1(Pengantar Algoritma)

Rahmady Liyantanto

S1 Teknik Informatika-Unijoyo

Page 2: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

SubSub PokokPokok BahasanBahasan

� Pendahuluan� Bahasa Pemrograman� Arti Penting Algoritma� Program Terstruktur dan Algoritma� Notasi Algoritma

S1 Teknik Informatika-Unijoyo

Page 3: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

PendahuluanPendahuluan (1)(1)� Komputer adalah alat elektronik untuk mengolah data

dengan menggunakan program tertentu untukmenghasilkan informasi

� Fungsi komputer adalah untuk pengolahan data (dataprocessing), sehingga komputer juga disebut sebagaipengolah data elektronik. Proses dari pengolahan datadengan menggunakan komputer disebut sebagaiPengolahan Data Elektronik (EDP atau Electronic DataProcessing)

� Di dalam komputer, terdapat bagian yang disebutsebagai Software (Perangkat Lunak). Perangkat lunak inimerupakan program-program yang diperlukan untukmenjalankan bagian dari komputer yang disebutsebagai Hardware (Perangkat Keras)

S1 Teknik Informatika-Unijoyo

Page 4: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

PendahuluanPendahuluan (2)(2)Macam-macam perangkat lunak:� Operating System (Sistem Operasi) program

komputer yang diperlukan untuk mengatur semuayang kegiatan sistem komputer dan mengendalikanpenggunaan semua perangkat yang dipasang dikomputer. Contoh: UNIX, ZENIX, MS DOS, Win NT.

� Language Software (Bahasa Komputer) atauProgramming Language (Bahasa Pemrograman)bahasa yang digunakan untuk membuat programkomputer.

� Application Software (Program Aplikasi) programyang diterapkan pada suatu aplikasi tertentu, misal:untuk mengolah kata, mengolah data, menggambar,mengaransir musik dan lain sebagainya.

S1 Teknik Informatika-Unijoyo

Page 5: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

BahasaBahasa PemrogramanPemrograman (1)(1)� Digunakan sebagai sarana komunikasi untuk menjembatani hubungan

antara manusia dan komputer

� Faktor-faktor yang harus diperhatikan:

q Sintaksis (tata bahasa yang digunakan)apabila terjadi kesalahan sintaksis, maka akan langsung terlihat, karenakomputer akan menampilkan pesan salah.

q Semantik (maksud yang dikandung dalam setiap pernyataan)kesalahan semantik biasanya terjadi karena kekurangpahaman terhadapsetiap pernyataan yang dituliskan pada program. Sehingga walaupunprogram dapat berjalan, akan tetapi tidak seperti yang dikehendaki.

q Kebenaran logika (benar atau tidaknya urutan pernyataan)bentuk kesalahan kebenaran logika merupakan kesalahan dalammengimplementasikan masalah yang dihadapi, sehingga program yangditulis tidak benar secara logika.

S1 Teknik Informatika-Unijoyo

Page 6: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

BahasaBahasa PemrogramanPemrograman (2)(2)Pengelompokan bahasa pemrograman:� Tingkat Rendah (Low Level)

Biasanya sulit dipahami karena berhubungan dengan mesinkomputer itu sendiri atau biasa disebut sebagai bahasamesin.Contoh : Bahasa Assembler

� Tingkat Tinggi (High Level)memakai kata-kata dan pernyataan yang mudah dimengertimanusia, meskipun masih jauh berbeda dengan bahasamanusia sesungguhnya.Contoh : Bahasa Pascal, C, C++

S1 Teknik Informatika-Unijoyo

Page 7: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

BahasaBahasa PemrogramanPemrograman (3)(3)Keterangan-keterangan yang diperlukan dalam penyusunan programkomputer :1. Data apa yang akan diproses/tersedia

untuk menentukan tipe data yang diperlukan oleh program komputer.

2. Bagaimana data dimasukkanuntuk menentukan jenis instruksi masukan yang akan digunakan.

3. Dimana data diletakkanuntuk menentukan variabel-variabel yang harus disediakan dalam program.

4. Operator apa saja yang dapat digunakanuntuk menentukan operator-operator yang diperlukan oleh program.

5. Bagaimana urutan instruksi disusununtuk menentukan jenis proses yang diperlukan (urutan,kondisional/percabangan, pengulangan)

6. Bagaimana menyampaikan informasi hasil pengolahanuntuk menentukan jenis instruksi keluaran yang akan digunakan.

S1 Teknik Informatika-Unijoyo

Page 8: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

BahasaBahasa PemrogramanPemrograman (4)(4)Kriteria program komputer yang baik:vTerintegrasi dan memiliki logika yang jelasvEfisien terhadap waktu dan penggunaan memorivMenerapkan prinsip modularitasvMemiliki keluwesan dalam penggunaanvKesederhanaan

S1 Teknik Informatika-Unijoyo

Page 9: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

ArtiArti PentingPenting AlgoritmaAlgoritma1. Menganalisa dan memahami suatu permasalahan untuk

menemukan kemungkinan penyelesaiannya

2. Merancang algoritma yang merupakan pola pikir terstrukturyang berisi tahap-tahap

3. Membuat program komputer yaitu mengubah kode darialgoritma yang telah dibuat ke dalam pernyataan-pernyataan yangsesuai dengan bahasa pemrograman yang dipakai [coding]

4. Menjalankan program secara rutin untuk menemukankesalahan penulisan suatu pernyataan dalam program [testing] danmenemukan kesalahan program. Kesalahan yang ditemukandiperbaiki sampai tidak muncul kesalahan lagi [debugging]

5. Melakukan dokumentasi terhadap setiap langkah yangdilakukan [documentation] penyelesaian suatu permasalahan

1-2 = fase penyelesaian masalah (problem solving phase)3-5 = fase implementasi (implementation phase)

S1 Teknik Informatika-Unijoyo

Page 10: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

Kriteria yang harus dipenuhi oleh prosedurpenyelesaian masalah dengan algoritma:� Setiap langkah harus bersifat pasti atau

tertentu (definite)� Terdapat setidaknya satu keluaran (output)� Terstruktur dan sistematis� Memiliki kriteria untuk menghentikan

proses

S1 Teknik Informatika-Unijoyo

Page 11: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

� Algoritma yang baik harus bersifat efisien waktu danpenggunaan memori komputer. Hasil akhir fasepenyelesaian masalah adalah penyelesaian dalam bentukalgoritma.

� Tujuan algoritma adalah memberikan petunjuk tentanglangkah-langkah logika penyelesaian masalah dalambentuk yang mudah dipahami nalar manusia sebagaiacuan yang membantu dalam mengembangkan programkomputer. Pemahaman terhadap algoritma akanmencegah sejak dini kemungkinan terjadinya kesalahanlogika pada program komputer yang dikembangkan.

S1 Teknik Informatika-Unijoyo

Page 12: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

� Syarat-syarat yang harus dipenuhi oleh suatualgoritma:

1) Logika prosedur pada algoritma harus cukup mudahdipahami nalar manusia

2) Validitas prosedur pada algoritma dapat ditelusuridengan mudah

3) Tidak menimbulkan kerancuan interpretasi bagi oranglain

4) Prosedur pada algoritma harus cukup mudahdikonversi ke program komputer

5) Prosedur pada algoritma tidak terpengaruh atautergantung pada bahasa pemrograman apa pun

S1 Teknik Informatika-Unijoyo

Page 13: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

ProgramProgram TerstrukturTerstruktur && AlgoritmaAlgoritma� Program terstruktur memberikan beberapa

keuntungan, antara lain :q Penulisan program menjadi lebih teraturq Program tersusun secara sistematisq Program tersusun secara terstrukturq Lebih mudah dipahamiq Urutan atau alur proses dalam program

menjadi sederhana dan mudah dipahami� Contoh bahasa pemrograman terstruktur

adalah Pascal, C, C++.

S1 Teknik Informatika-Unijoyo

Page 14: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

Pengelompokan struktur proses dalam algoritma:

� Proses urutan (sequence)q Prosedur proses dalam algoritma yang dilakukan secara urutlangkah demi langkah.q Sebuah urutan terdiri dari satu atau lebih instruksi. Tiap instruksidilaksanakan secara berurutan sesuai dengan urutan pelaksanaan,artinya suatu instruksi akan dilaksanakan setelah instruksisebelumnya telah selesai dilaksanakan.

� Proses penyeleksian (selection)Instruksi dikerjakan jika suatu kondisi tertentu dipenuhi. Denganadanya proses ini maka ada kemungkinan beberapa jalur aksi yangberbeda berdasarkan kondisi yang ada.� Proses pengulangan (looping)Proses melakukan eksekusi suatu program secara berulang-ulangpada suatu blok instruksi tertentu yang terkendali.

S1 Teknik Informatika-Unijoyo

Page 15: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

NotasiNotasi AlgoritmaAlgoritma (1)(1)� Notasi algoritma bukan merupakan notasi bahasa

pemrograman, namun notasi ini dapatditerjemahkan ke dalam berbagai bahasapemrograman.

� Meskipun notasi algoritma tidak berbentuk bakuseperti notasi bahasa pemrograman, namunkonsistensi terhadap notasi perlu diperhatikanuntuk menghindari terjadinya kekeliruan.

� Bentuk notasi algoritma:1. Uraian deskriptif2. Diagram-alir (flowchart)3. Pseudocode

S1 Teknik Informatika-Unijoyo

Page 16: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

NotasiNotasi AlgoritmaAlgoritma (2) :(2) :UraianUraian DeskriptifDeskriptif

� Dengan notasi bergaya uraian, deskripsi setiap langkahdijelaskan dengan bahasa yang gamblang. Proses iawali dengankata kerja seperti ‘baca’ atau ‘membaca’, hitung’ atau‘menghitung’, ‘bagi’ atau ‘membagi’, ‘ganti’ atau ‘membagi’, dansebagainya, sedangkan pernyataan kondisional dinyatakandengan ‘jika ... maka ...’.

� Contoh à menghitung luas dan keliling suatu lingkaran

S1 Teknik Informatika-Unijoyo

Algoritma Hitung_Luas_dan_Keliling_LingkaranDESKRIPSI:• Masukkan jari-jari lingkaran (r)• Hitung luas lingkaran dengan rumus L = p * r2• Hitung keliling lingkaran dengan rumus K = 2 * p * r• Tampilkan luas lingkaran• Tampilkan keliling lingkaran

Page 17: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

NotasiNotasi AlgoritmaAlgoritma (3) :(3) :DiagramDiagram AlirAlir ((flowchart)flowchart)

� Flowchart adalahgambaran dalam bentukdiagram alir darialgoritmaalgoritma dalamsuatu program, yangmenyatakan arah alurprogram tersebut.

� Contohà menghitung luasdan keliling suatu lingkaran

S1 Teknik Informatika-Unijoyo

Page 18: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

SimbolSimbol--simbolsimbol dalamdalam diagramdiagram aliralir::

S1 Teknik Informatika-Unijoyo

Page 19: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

SimbolSimbol--simbolsimbol dalamdalam diagramdiagram aliralir::

S1 Teknik Informatika-Unijoyo

Page 20: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

NotasiNotasi AlgoritmaAlgoritma (4) :(4) :PseudocodePseudocode

� Notasinya yang menyerupai notasi bahasa pemrogramantingkat tinggi, khususnya Bahasa Pascal dan C.

� Contoh à menghitung luas dan keliling suatu lingkaran

S1 Teknik Informatika-Unijoyo

Page 21: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

KesimpulanKesimpulan� Algoritma merupakan himpunan angkah-langkah atau

prosedurprosedur logika yang harus dilaksanakan untukmenyelesaikan suatu masalah yang berorientasi padapemrograman komputer.

� Notasi uraian deskriptif bagus jika digunakan dalam algoritmayang pendek, akan tetapi jika digunakan dalam algoritma yangbesar, notasi ini tidak efisien. Selain itu, perkonversian notasialgoritma ke dalam notasi bahasa pemrograman akan relatifsukar.

� Diagram alir lebih menggambarkan aliran instruksi di dalamprogram secara visual daripada memperlihatkan strukturprogram.

� Penggunaan notasi pseudocode memberikan kemudahankonversi atau translasi ke dalam notasi bahasa pemrograman,karena terdapat korespondensi antara setiap pseudocodedengan notasi bahasa pemrograman.

S1 Teknik Informatika-Unijoyo

Page 22: AlgoritmaAlgoritma Pemrograman Pemrograman · PDF fileContoh : Bahasa Pascal, C, C++ S1 Teknik Informatika-Unijoyo. ... qUrutan atau alur proses dalam program menjadi sederhana dan

DaftarDaftar PustakaPustaka� Andri Kristanto [2003]. Algoritma dan

Pemrograman dengan C++, Yogyakarta:Graha Ilmu.

� Jogiyanto HM [1989]. Turbo Pascal,Yogyakarta: Andi Offset.

� Noor Ifada [2005]. Diktat MatakuliahAlgoritma Pemrograman (HibahKompetisi A1), Bangkalan: Jurusan TeknikInformatika, Universitas Trunojoyo.

� Rinaldi Munir [2003]. Algoritma danPemrograman dengan Pascal dan Cedisi Kedua, Bandung: Informatika.

S1 Teknik Informatika-Unijoyo