1 / 44

Algoritma & Pemrograman

Algoritma & Pemrograman. Minggu 2 Kelas D – Sistem Informasi Jonh Fredrik Ulysses, S.T. ~ Alpro – Jonh – SI – STMIK Palangka Raya. Algoritma. Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840).

Download Presentation

Algoritma & Pemrograman

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritma & Pemrograman Minggu 2 Kelas D – Sistem Informasi Jonh Fredrik Ulysses, S.T ~ Alpro – Jonh – SI – STMIK Palangka Raya

  2. Algoritma • Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840). • Di literatur barat dia lebih terkenal dengan sebutan Algorizm. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algorithm yang ditemukannya. Dalam bahasa Indonesia kita kemudian menyebutkannya sebagai algoritma. • Algoritma adalah kunci dari bidang ilmu komputer, karena banyak bidang di bawah ilmu komputer yang lahir berdasarkan konsep algoritma ini. • Pada hakekatnya algoritma juga adalah kunci dari kehidupan kita. • Cara membuat masakan (resep masakan) adalah juga sebuah contoh nyata dari algoritma. ~ Alpro – Jonh – SI – STMIK Palangka Raya

  3. Algoritma • adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. ~ Alpro – Jonh – SI – STMIK Palangka Raya

  4. Algoritma • Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). • Dan kita memilih mana yang terbaik diantara teknik-teknik itu. • Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. ~ Alpro – Jonh – SI – STMIK Palangka Raya

  5. Algoritma • Lima ciri penting algoritma • Selesai dalam jumlah langkah terbatas • Tidak memiliki arti ganda • Memiliki nol atau lebih input • Memiliki nol atau lebih output • Efektif ~ Alpro – Jonh – SI – STMIK Palangka Raya

  6. Program • Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu ~ Alpro – Jonh – SI – STMIK Palangka Raya

  7. Pemecahan Masalah Notasi yang telah disepakati • Strategi • Metodologi • Sistematika Belajar Memprogram & Belajar Bahasa Pemrograman • Belajar memprogram: • pemahaman persoalan, analisis, dan sintesis • Belajar Bahasa Pemrograman : • Belajar memakai suatu bahasa • aturan sintaks (tata bahasa) ~ Alpro – Jonh – SI – STMIK Palangka Raya

  8. Algoritma Translasi Program dalam Bahasa Tingkat Tinggi Kompilasi Program dalam Bahasa Mesin Interpretasi oleh CPU Operasi (Baca, tulis, hitung, perbandingan, dll) Tahapan Pemecahan Masalah ~ Alpro – Jonh – SI – STMIK Palangka Raya

  9. Paradigma Pemrograman • Prosedural (imperatif)  Program = Struktur + Data mis : Pascal, C, Basic • Object Oriented  data dan instruksi dibungkus menjadi satu, disebut: kelas, kelas pada saat run-time disebut objek. mis : C++, Java • Fungsional  konsep pemetaan dan fungsi pada matematika mis : Matlab • Deklaratif  pendefinisian relasi antar individu yang dinyatakan sebagai predikat mis : Prolog ~ Alpro – Jonh – SI – STMIK Palangka Raya

  10. DASAR-DASAR ALGORITMA dan FLOW CHART ~ Alpro – Jonh – SI – STMIK Palangka Raya

  11. Proses, Instruksi, dan Aksi • Algoritma merupakan deskripsi urutan pelaksanaan suatu proses • Algoritma tersusun oleh sederetan langkah instruksi yang logis • Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi) • Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU ~ Alpro – Jonh – SI – STMIK Palangka Raya

  12. Struktur Dasar Algoritma • Runtunan (sequence) • aksi-aksi dalam algoritma yang dikerjakan secara berurutan • contoh : A1. Aksi 1 A2. Aksi 2 A3. Aksi 3 ~ Alpro – Jonh – SI – STMIK Palangka Raya

  13. Struktur Dasar Algoritma(2) • Pemilihan (selection) • aksi dikerjakan jika kondisi tertentu terpenuhi • contoh : IF kondisi1 THEN Aksi1 ELSE IF kondisi2 THEN Aksi2 ELSE Aksi3 (Aksi 3 dilakukan jika kondisi 1 dan 2 tidak terpenuhi) IF kondisi THEN aksi IF kondisi THEN aksi1 ELSE aksi2

  14. Struktur Dasar Algoritma (3) • Pengulangan (repeatition) • aksi-aksi yang dikerjakan berulang kali • contoh : • FOR pencacah pengulangan dari a sampai b DO Aksi (aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari a sampai b yakni sebanyak b-a+1 kali) • REPEAT Aksi UNTILkondisi (pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti terpenuhi) • WHILE kondisi DO Aksi (selama kondisi/persyaratan pengulangan masih benar, maka aksi dikerjakan) ~ Alpro – Jonh – SI – STMIK Palangka Raya

  15. Flow Chart • Flow chart suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan program dari awal sampai akhir. • Flow chart adalah algoritma yang digambarkan dengan diagram • Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi algoritma) ~ Alpro – Jonh – SI – STMIK Palangka Raya

  16. Penulisan Algoritma • FLOW CHART • Flow chart adalah suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan suatu program dari awal sampai akhir • Flow chart adalah algoritma yang digambarkan dengan diagram • Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi dari algoritma) • TEKS ALGORITMA • berisi langkah-langkah penyelesaian masalah yang ditulis dengan bahasa yang mudah dipahami ~ Alpro – Jonh – SI – STMIK Palangka Raya

  17. Flow Chart • Input • Processing • Output (display) • Decision (untuk mengevaluasi suatu kondisi) • Procedure/subroutine ~ Alpro – Jonh – SI – STMIK Palangka Raya

  18. Flow Chart(2) • Flow lines • Terminator (mengawali dan mengakhiri flow chart) • On page connector • Off page connector • Annotation (memberi komentar atau keterangan dalam flow chart) ~ Alpro – Jonh – SI – STMIK Palangka Raya

  19. ATURAN PENULISAN TEKS ALGORITMA ~ Alpro – Jonh – SI – STMIK Palangka Raya

  20. Teks Algoritma • Teks algoritma berisi langkah-langkah penyelesaian masalah • Tidak ada notasi baku tapi sebaiknya berkorespondensi dengan bahasa pemrograman umum, supaya mudah ditranslasikan ke dalam bahasa pemrograman • Notasi yang digunakan untuk menulis algoritma disebut notasi algoritmik ~ Alpro – Jonh – SI – STMIK Palangka Raya

  21. Teks Algoritma • Struktur teks algoritma • Kepala algoritma terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut • Deklarasi mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma • Deskripsi Berisi uraian langkah-langkah penyelesaian Komentar ditulis diantara tanda kurung “{“ dan “}” ~ Alpro – Jonh – SI – STMIK Palangka Raya

  22. Contoh Teks Algoritma Judul algoritma spesifikasi algoritma Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah ~ Alpro – Jonh – SI – STMIK Palangka Raya

  23. Pascal ~ Alpro – Jonh – SI – STMIK Palangka Raya

  24. TIPE, NAMA, DAN NILAI ~ Alpro – Jonh – SI – STMIK Palangka Raya

  25. Tipe Data Tipe data terdiri dari tipe: • Tipe dasar • Tipe yang dapat langsung dipakai (disediakan oleh bahasa pemrograman) • Contoh: boolean, integer, real, char, string (?) • Tipe bentukan • Tipe yang didefinisikan sendiri oleh pemrogram • Tipe yang dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan • Contoh: tipe dasar yang diberi nama tipe baru, record ~ Alpro – Jonh – SI – STMIK Palangka Raya

  26. Tipe Data(2) Empat hal yang harus diperhatikan dalam pendefinisian tipe: • Nama • Domain harga • Konstanta • Operator ~ Alpro – Jonh – SI – STMIK Palangka Raya

  27. Tipe Data(3)

  28. Tipe Bentukan • Tipe dasar yang diberi nama tipe baru • Nama baru untuk tipe dasar menggunakan kata kunci type • Domain nilai, cara menulis konstanta, dan operasi-operasi yang dapat dijalankan pada tipe baru tersebut tidak berubah, sama seperti tipe dasarnya. • Contoh: type BilanganBulat: integer • Rekaman (record) • Rekaman disusun atas satu atau lebih field • Tipe field menyimpan data dan tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya • Nama rekaman ditentukan oleh pemrogram • Rekaman disebut juga tipe terstruktur ~ Alpro – Jonh – SI – STMIK Palangka Raya

  29. Contoh Record DEKLARASI type MataKuliah : record <KodeMK : string, {kode matakuliah} NamaMK : string, {nama matakuliah} Nilai : char {indeks nilai} > type Mahasiswa : record <NIM : integer, {nomor mhs} NamaMhs : string, {nama mhs} MK : array[1..4] of MataKuliah > LarikMhs : array[1..100] of Mahasiswa ~ Alpro – Jonh – SI – STMIK Palangka Raya

  30. Nama • Untuk mengidentifikasikan dan membedakan obyek • Unik dan tidak boleh sama • Dalam algoritma nama diberikan pada: • Variabel • Tempat penyimpanan data/informasi di memori yang nilainya dapat diubah selama pelaksanaan program • Konstanta • Tempat penyimpanan di memori yang nilainya tidak dapat diubah selama pelaksanaan program • Tipe bentukan • Tipe data baru yang didefinisikan oleh program dari tipe data yang sudah ada • Prosedur • Modul program (sederetan instruksi) yang ditulis terpisah dari badan program utamadan dapat dipanggil berulang dari program utama • Fungsi • Prosedur yang mengembalikan suatu nilai dengan tipe data sederhana ~ Alpro – Jonh – SI – STMIK Palangka Raya

  31. Aturan Penulisan Nama • Harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka, spasi, atau karakter khusus lainnya. • Tidak case sensitif (beda dengan bahasa pemrograman) • Karakter penyusun nama hanya boleh: huruf alfabet, angka dan “_” (underscore) • Tidak boleh dipisahkan dengan spasi • Panjang nama tidak terbatas • Semua nama yang dipakai harus dideklarasikan dulu pada bagian deklarasi ~ Alpro – Jonh – SI – STMIK Palangka Raya

  32. Contoh Penamaan • SALAH • 6titik {dimulai dg angka} • nilai ujian {dipisahkan spasi} • PT-1 {mengandung operator kurang} • hari! {mengandung karakter khusus} • BENAR • titik6 atau titik_6 • nilai_ujian atau nilaiUjian • PT_1 atau PT1 • hari ~ Alpro – Jonh – SI – STMIK Palangka Raya

  33. Nilai • Merupakan besaran dari tipe data yang sudah didefinisikan (tipe dasar maupun tipe bentukan) • Nilai dapat berupa: • Isi variabel atau konstanta • Nilai dari hasil perhitungan • Nilai yang dihasilkan oleh fungsi • Nilai yang disimpan di variabel dimanipulasi dengan cara: • Mengisikan ke variabel lain yang bertipe sama • Dipakai untuk perhitungan • Dituliskan ke piranti keluaran ~ Alpro – Jonh – SI – STMIK Palangka Raya

  34. Nilai(2) Pengisian nilai ke variabel: • Pengisian nilai secara langsung(assignment) • Memasukkan sebuah nilai ke dalam nama variabel langsung di dalma teks algoritma • Syaratnya nilai yang didisikan harus bertipe sama dengan tipe peubah • Notasi:  • Contoh: ~ Alpro – Jonh – SI – STMIK Palangka Raya

  35. Nilai(3) • Pembacaan nilai dari piranti masukan • Nilai untuk nama variabel dapt diisi dari piranti masukan, misalnya dari keyboard. • Dinamakan dengan operasi pembacaan data • Notasi dalam teks algoritma: read • Contoh: • read (nama1, nama2,…namaN) ~ Alpro – Jonh – SI – STMIK Palangka Raya

  36. Ekspresi • Ekspresi terdiri atas: operand dan operator • Operand adalah nilai yang dioperasikan dengan operator tertentu • Operand dapat berupa konstanta, nama variabel, nama konstanta, atau hasil suatu fungsi • Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam domain yang sesuai dengan tipe operand yang dipakai, ada tiga macam: ekspresi aritmetik, ekspresi relasional, ekspresi string. ~ Alpro – Jonh – SI – STMIK Palangka Raya

  37. Ekspresi(2) • Ekspresi Aritmetika • Ekspresi yang baik operand dan hasilnya berupa numerik • (ingat: tingkat prioritas operator) i. / , div, mod ii. * iii.+, - • Ekspresi relasional • Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or, dan xor • Hasil evaluasi adalah nilai bertipe boolean • Ekspresi string ~ Alpro – Jonh – SI – STMIK Palangka Raya

  38. Ekspresi (3) • Ekspresi string • Ekspresi dengan operator penyambungan/concatenation “+”. ~ Alpro – Jonh – SI – STMIK Palangka Raya

  39. Menuliskan Nilai ke Piranti Keluaran (monitor/printer) • Dilakukan dengan notasi write • Contoh: • write (nama1, nama2, …, namaN) ~ Alpro – Jonh – SI – STMIK Palangka Raya

  40. Contoh Algoritma Algoritma Hello_World {mencetak string Hello World diikuti nama orang. Nama orang diinputkan dari piranti masukan} DEKLARASI const ucapan = ‘Hello World’ namaUser : string DESKRIPSI read(namaUser) write(ucapan + ‘ ‘ + namaUser) ~ Alpro – Jonh – SI – STMIK Palangka Raya

  41. Sumber • Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Buku 1), Rinaldi Munir, Informatika Bandung • Bahan Matakuliah Algoritma dan Pemrograman Universitas Atma Jaya Yogyakarta • ilmukomputer.com ~ Alpro – Jonh – SI – STMIK Palangka Raya

More Related