1 / 79

Algoritma dan Pemrograman

Algoritma dan Pemrograman. Fasilkom-Kelas C. Tubagus Purworusmiardi , S.Kom. Tujuan. memberikan pengetahuan konsep dan penerapan algoritma sebagai dasar pembuatan program dengan menggunakan salah satu bahasa pemrograman. ~ Alpro – Tubagus Purworusmiardi , S.Kom. Silabus.

rey
Télécharger la présentation

Algoritma dan 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 dan Pemrograman Fasilkom-Kelas C TubagusPurworusmiardi, S.Kom

  2. Tujuan • memberikan pengetahuan konsep dan penerapan algoritma sebagai dasar pembuatan program dengan menggunakan salah satu bahasa pemrograman. ~ Alpro – TubagusPurworusmiardi, S.Kom

  3. Silabus • Chapter 1 Pendahuluan • Pengenalan mengenai sistem komputer • Pengenalan algoritma dan pemrograman • Chapter 2. Dasar-dasar algoritma • Struktur dasar algoritma • Chapter 3. Tipe, nama dan nilai • Penjelasan tipe data untuk algoritma dan bhs pemrograman • Pembuatan penamaan dan nilai • Chapter 4. Runtunan ~ Alpro – TubagusPurworusmiardi, S.Kom

  4. Silabus • Chapter 5. Pemilihan • Pemilihan • Case • Chapter 6. Pengulangan • For..to..do.. • While do.. • Repeat until • Chapter 7. Prosedur dan Fungsi • Rutin • Prosedur • Fungsi ~ Alpro – TubagusPurworusmiardi, S.Kom

  5. Silabus • Chapter 8. Array • Chapter 9. Record • Chapter 10. Rekursif ~ Alpro – TubagusPurworusmiardi, S.Kom

  6. Referensi • Referensi • Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Buku 1), Rinaldi Munir, Informatika Bandung • Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Buku2), Rinaldi Munir&Leoni Lidya, Informatika Bandung ~ Alpro – TubagusPurworusmiardi, S.Kom

  7. Penilaian • Tugas = 20% • UTS = 30% • UAS = 40% • Kehadiran = 10% ~ Alpro – TubagusPurworusmiardi, S.Kom

  8. Alat • Dev C++ • Turbo Pascal • VB Script • Raptor ~ Alpro – TubagusPurworusmiardi, S.Kom

  9. Algoritma & Pemrograman Minggu 2 Kelas C – Sistem Informasi Tubagus Purworusmiardi, S.Kom ~ Alpro – Tubagus Purworusmiardi, S.Kom

  10. 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 – Tubagus Purworusmiardi, S.Kom

  11. Algoritma • adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. ~ Alpro – Tubagus Purworusmiardi, S.Kom

  12. 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 – Tubagus Purworusmiardi, S.Kom

  13. Program • Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu ~ Alpro – Tubagus Purworusmiardi, S.Kom

  14. Pemecahan Masalah Notasi yang telah disepakati • Strategi • Metodologi • Sistematika Belajar Memprogram & Belajar Bahasa Pemrograman • Belajarmemprogram: • pemahamanpersoalan, analisis, dansintesis • BelajarBahasaPemrograman: • Belajarmemakaisuatubahasa • aturansintaks (tatabahasa) ~ Alpro – Tubagus Purworusmiardi, S.Kom

  15. DASAR-DASAR ALGORITMA dan FLOW CHART ~ Alpro – Tubagus Purworusmiardi, S.Kom

  16. 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 – Tubagus Purworusmiardi, S.Kom

  17. Struktur Dasar Algoritma • Runtunan (sequence) • aksi-aksi dalam algoritma yang dikerjakan secara berurutan • contoh : A1. Aksi 1 A2. Aksi 2 A3. Aksi 3 ~ Alpro – Tubagus Purworusmiardi, S.Kom

  18. StrukturDasarAlgoritma(2) • Pemilihan (selection) • aksidikerjakanjikakondisitertentuterpenuhi • 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

  19. 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 – Tubagus Purworusmiardi, S.Kom

  20. 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 – Tubagus Purworusmiardi, S.Kom

  21. 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 – Tubagus Purworusmiardi, S.Kom

  22. Flow Chart • Input • Processing • Output (display) • Decision (untuk mengevaluasi suatu kondisi) • Procedure/subroutine ~ Alpro – Tubagus Purworusmiardi, S.Kom

  23. Flow Chart(2) • Flow lines • Terminator (mengawalidanmengakhiri flow chart) • On page connector • Off page connector • Annotation (memberikomentaratauketerangandalam flow chart) ~ Alpro – Tubagus Purworusmiardi, S.Kom

  24. ATURAN PENULISAN TEKS ALGORITMA ~ Alpro – Tubagus Purworusmiardi, S.Kom

  25. 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 – Tubagus Purworusmiardi, S.Kom

  26. 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 – Tubagus Purworusmiardi, S.Kom

  27. Contoh Teks Algoritma Judul algoritma spesifikasi algoritma Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah ~ Alpro – Tubagus Purworusmiardi, S.Kom

  28. Pascal ~ Alpro – Tubagus Purworusmiardi, S.Kom

  29. TIPE, NAMA, DAN NILAI ~ Alpro – Tubagus Purworusmiardi, S.Kom

  30. 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 – Tubagus Purworusmiardi, S.Kom

  31. Tipe Data(2) Empat hal yang harus diperhatikan dalam pendefinisian tipe: • Nama • Domain harga • Konstanta • Operator ~ Alpro – Tubagus Purworusmiardi, S.Kom

  32. Tipe Data(3)

  33. 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 – Tubagus Purworusmiardi, S.Kom

  34. 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 – Tubagus Purworusmiardi, S.Kom

  35. 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 – Tubagus Purworusmiardi, S.Kom

  36. 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 – Tubagus Purworusmiardi, S.Kom

  37. 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 – Tubagus Purworusmiardi, S.Kom

  38. 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 – Tubagus Purworusmiardi, S.Kom

  39. Nilai(2) Pengisiannilaikevariabel: • Pengisiannilaisecaralangsung(assignment) • Memasukkansebuahnilaikedalamnamavariabellangsung di dalmateksalgoritma • Syaratnyanilai yang didisikanharusbertipesamadengantipepeubah • Notasi:  • Contoh: ~ Alpro – Tubagus Purworusmiardi, S.Kom

  40. 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 – Tubagus Purworusmiardi, S.Kom

  41. 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 – Tubagus Purworusmiardi, S.Kom

  42. 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 – Tubagus Purworusmiardi, S.Kom

  43. Ekspresi (3) • Ekspresi string • Ekspresi dengan operator penyambungan/concatenation “+”. ~ Alpro – Tubagus Purworusmiardi, S.Kom

  44. Menuliskan Nilai ke Piranti Keluaran (monitor/printer) • Dilakukan dengan notasi write • Contoh: • write (nama1, nama2, …, namaN) ~ Alpro – Tubagus Purworusmiardi, S.Kom

  45. 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 – Tubagus Purworusmiardi, S.Kom

  46. Sumber • AlgoritmadanPemrogramandalamBahasa Pascal dan C (Buku 1), RinaldiMunir, Informatika Bandung • ilmukomputer.com ~ Alpro – Tubagus Purworusmiardi, S.Kom

  47. Dasar- dasarAlgoritma KelasC – SistemInformasi TubagusPurworusmiardi, S.Kom

More Related