890 likes | 1.43k Views
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.
E N D
Algoritma dan Pemrograman Fasilkom-Kelas C TubagusPurworusmiardi, S.Kom
Tujuan • memberikan pengetahuan konsep dan penerapan algoritma sebagai dasar pembuatan program dengan menggunakan salah satu bahasa pemrograman. ~ Alpro – TubagusPurworusmiardi, S.Kom
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
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
Silabus • Chapter 8. Array • Chapter 9. Record • Chapter 10. Rekursif ~ Alpro – TubagusPurworusmiardi, S.Kom
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
Penilaian • Tugas = 20% • UTS = 30% • UAS = 40% • Kehadiran = 10% ~ Alpro – TubagusPurworusmiardi, S.Kom
Alat • Dev C++ • Turbo Pascal • VB Script • Raptor ~ Alpro – TubagusPurworusmiardi, S.Kom
Algoritma & Pemrograman Minggu 2 Kelas C – Sistem Informasi Tubagus Purworusmiardi, S.Kom ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
Algoritma • adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
Program • Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
DASAR-DASAR ALGORITMA dan FLOW CHART ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
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
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
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
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
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
Flow Chart • Input • Processing • Output (display) • Decision (untuk mengevaluasi suatu kondisi) • Procedure/subroutine ~ Alpro – Tubagus Purworusmiardi, S.Kom
Flow Chart(2) • Flow lines • Terminator (mengawalidanmengakhiri flow chart) • On page connector • Off page connector • Annotation (memberikomentaratauketerangandalam flow chart) ~ Alpro – Tubagus Purworusmiardi, S.Kom
ATURAN PENULISAN TEKS ALGORITMA ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
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
Contoh Teks Algoritma Judul algoritma spesifikasi algoritma Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah ~ Alpro – Tubagus Purworusmiardi, S.Kom
Pascal ~ Alpro – Tubagus Purworusmiardi, S.Kom
TIPE, NAMA, DAN NILAI ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
Tipe Data(2) Empat hal yang harus diperhatikan dalam pendefinisian tipe: • Nama • Domain harga • Konstanta • Operator ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
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
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
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
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
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
Nilai(2) Pengisiannilaikevariabel: • Pengisiannilaisecaralangsung(assignment) • Memasukkansebuahnilaikedalamnamavariabellangsung di dalmateksalgoritma • Syaratnyanilai yang didisikanharusbertipesamadengantipepeubah • Notasi: • Contoh: ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
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
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
Ekspresi (3) • Ekspresi string • Ekspresi dengan operator penyambungan/concatenation “+”. ~ Alpro – Tubagus Purworusmiardi, S.Kom
Menuliskan Nilai ke Piranti Keluaran (monitor/printer) • Dilakukan dengan notasi write • Contoh: • write (nama1, nama2, …, namaN) ~ Alpro – Tubagus Purworusmiardi, S.Kom
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
Sumber • AlgoritmadanPemrogramandalamBahasa Pascal dan C (Buku 1), RinaldiMunir, Informatika Bandung • ilmukomputer.com ~ Alpro – Tubagus Purworusmiardi, S.Kom
Dasar- dasarAlgoritma KelasC – SistemInformasi TubagusPurworusmiardi, S.Kom