1 / 67

KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma

KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma. Pertemuan 01. Pemrograman Dasar. Learning Outcomes. Pada akhir pertemuan ini , diharapkan mahasiswa akan mampu : Menjelaskan tentang konsep dasar pemrograman komputer, algoritma dan tahapan pembuatan algoritma pemrograman terstruktur.

ella
Download Presentation

KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma

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. KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma Pertemuan 01 PemrogramanDasar

  2. Learning Outcomes Padaakhirpertemuanini, diharapkanmahasiswa akanmampu : • Menjelaskantentang konsep dasar pemrograman komputer, algoritmadantahapanpembuatanalgoritmapemrogramanterstruktur.

  3. Outline Materi • Konsep Dasar Pemrograman • DefinisiAlgoritma • TahapPengembanganAlgoritma • Penyajianalgoritma • Pseudocode • Flow Chart • PemrogramanTerstruktur

  4. Konsep Dasar Pemrograman Komputer COMPUTER TO – COMPUTE + ER (Menghitung/Mengolahbilangan) (Mengolah Data) Nilai Data Nilai Data PUSAT PENGOLAH DATA Data ygDiolah Data hasilpengolahan (berbasisArithmatikadanLogika) (Masukan/Input) (Keluaran/Output) Penyimpanan Data

  5. LangkahPembuatan Program • Pemrogramanadalahsuatuaktifitaspemecahanmasalah. • Metodepemecahanmasalahdibahaspadaberbagaibidang, misalnya: • Di bidangbisnisdigunakanpendekatansistem • Di bidangteknikdansainsdigunakanmetodeteknikdansaintifik • Di bidangpemrogramandigunakanmetodepengembangan software • Langkah-langkahdalammetodePembuatan Program: • Menspesifikankebutuhanmasalah -> identifikasimasalah • Menganalisismasalah -> metodepenyelesaianterbaik • Merancang/mendesignalgoritmauntukmenyelesaikanmasalah -> Design pemrograman • Mengimplementasikanalgoritma -> coding • Mentestdanmemverifikasi program -> debuging; testing • Memeliharadanmeng-update program -> maintenance

  6. 1. Spesifikasi Masalah Kita harusdapatmenspesifikasikanmasalahdenganjelasdantidakambigudanmemilikipemahaman yang jelasmengenaiapa yang diperlukanuntukmenyelesaikanmasalahtersebut. Kita harusdapatmengeliminasiaspek-aspek yang tidakpentingdarimasalah. Dalamlangkahini, kitamungkinmembutuhkaninformasidari orang-orang yang terlibatdalammasalahtersebut.

  7. 2. Analisis (1) • Kita harus dapat mengidentifikasi masalah berkaitan dengan: • Input • Output • Kebutuhan tambahan atau batasan dari penyelesaian masalah • Format dari output (dalam bentuk tabel, file, atau yang lain) • Daftar variabel dan hubungan antar variabel (bisa dinyatakan dalam rumus) • Tips: Bacalah ‘problem statement’ (soal) dengan hati-hati agar memiliki pemahaman yang jelas mengenai permasalahan dan agar dapat menentukan input maupun output dengan benar. Kita bisa menggarisbawahi frase di dalam soal yang mengindikasikan input dan output.

  8. 2. Analisis (2) • Contoh: Problem: Hitung dan tampilkan total harga apel jika jumlah kg apel yang dibeli dan harga perkg apel diketahui. Analisis: Hitung dan tampilkan total harga apel jika jumlah kg apel yang dibeli dan harga perkg apel diketahui. Input: Jumlah apel yang dibeli (dalam kg) -> kg_beli Harga per kg apel (dalam rupiah) -> harga_kg Output: Total harga apel (dalam rupiah) -> total Rumus : total = harga_kg x kg_beli • Proses pemodelan suatu masalah dengan cara mengekstrak variabel-variabel penting dan hubungan di antara variabel-variabel disebut abstraksi.

  9. 3. Design Dalamtahap design, kitamenyusunalgoritma (daftarlangkah yang diperlukanuntukmenyelesaikanmasalah) danmemverifikasiapakahalgoritma yang kitasusundapatmenyelesaikanmasalahsesuaidengan yang kitainginkan. Janganberusahasecaralangsunguntukmenyelesaikanmasalahsecara detail padasaatmerancangalgoritme. Gunakanpendekatan top down design (disebutjuga divide and conquer), yaitupendekatan yang dimulaidenganmendaftarlangkah-langkahutamaatausubmasalah yang diperlukanuntukmenyelesaikanmasalahutama, selanjutnyadiikutidenganmenyusunpenyelesaianuntuksetiapsubmasalah.

  10. DefinisiAlgoritma Algoritmaadalahsekumpulanlangkah-langkahterbatasuntukmencarisolusisuatumasalah. Berasaldarikataalgorisdanritmis. AwalnyadiungkapkanolehAl Khowarizmi. Di pemrograman, algoritmadidefinisikansebagaimetode yang terdiridarilangkah-langkahterstukturuntukmencarisolusisuatumasalahdenganbantuankomputer.

  11. 3. Design • Hampir setiap algoritme komputer terdiri dari submasalah berikut: • Memasukkan data • Melakukan perhitungan • Menampilkan hasil • Proses penyusunan langkah-langkah penyelesaian untuk setiap submasalah yang berhasil diidentifikasi disebut penghalusan algoritme (algorithm refinement). • Untuk memverifikasi algoritme dilakukan desk checking, yaitu pemeriksaan setiap langkah dalam algoritme dengan cara mensimulasikan hasil eksekusi algoritme dengan perhitungan manual.

  12. 4. Implementasi Pada tahap ini dilakukan penulisan program, yaitu mengkonversi algoritme yang disusun pada tahap sebelumnya ke dalam bahasa pemrograman yang dipilih.

  13. 5. Testing Setelah program sudah bisa dieksekusi, dilakukan pengetesan program dengan berbagai macam data, sehingga bisa diverifikasi bahwa program sudah bekerja sesuai dengan kebutuhan pada berbagai situasi yang mungkin dihadapi oleh program.

  14. 6. Pemeliharaan (maintenance) Pemeliharaan dan peng-update-an program mencakup modifikasi program untuk menghilangkan error yang sebelumnya tidak terdeteksi dan untuk menjaga agar program tetap up-to-date (sesuai) dengan kebijakan pemerintah ataupun dengan perubahan kebijakan oganisasi. Beberapa organisasi melakukan pemeliharaan program setiap 5 tahun sekali atau lebih, dan seringkali pemeliharaan program dilakukan oleh orang yang sebelumnya tidak terlibat dalam pengembangan program tersebut. Oleh karena itu, sangat penting untuk melakukan dokumentasi terhadap setiap tahap pengembangan software, sehingga proses pemeliharaan program bisa dilakukan dengan baik.

  15. TAHAP PENGEMBANGAN PROGRAM MASALAH / IDEA PEMECAHAN SOLUSI / HASIL Source Code Executable Code Algoritma

  16. Contohkasus: Konversi Mil ke Kilometer • Problem : Dalam kerja praktek anda diminta untuk mempelajari beberapa peta. Peta-peta tersebut ada yang menggunakan satuan mil dan ada yang menggunakan satuan kilometer. Oleh pembimbing kerja praktek, anda diminta untuk mengkonversi semua jarak dalam mil ke dalam kilometer. • Analisis : “…. Oleh pembimbing kerja praktek, anda diminta untuk mengkonversi semua jarak dalam mil ke dalam kilometer.” Input : Jarak dalam mil -> mil Output : Jarak dalam kilometer -> km Rumus : 1 mil = 1.609 km

  17. Design : Algoritme awal : • Masukkan jarak dalam mil • Konversi jarak dari mil ke kilometer • Tampilkan hasil dalam kilometer Penghalusan algoritme : • Masukkan jarak dalam mil • Konversi jarak dari mil ke kilometer 2.1. Jarak dalam kilometer adalah 1.609 kali jarak dalam mil. 3. Tampilkan hasil dalam kilometer Contoh desk check terhadap algoritma : Pada langkah 1, dimasukkan jarak 10 mil, langkah 2.1 akan mengkonversinya menjadi 1.609 x 10 menjadi 16.09 kilometer. Hasil ini akan ditampilkan di langkah 3.

  18. Implementasi : /* Konversi jarak dari mil ke kilometer */ #include <stdio.h> /* definisi printf, scanf */ #include KM_PER_MIL 1.609 /*konstanta konversi */ int main(void) { double mil, /*input: jarak dalam mil*/ km; /*output: jarak dalam km*/ /* memasukkan jarak dalam mil */ printf(“Masukkan jarak dalam mil : “); scanf(“%lf”, &mil); /* konversi jarak ke kilometer */ km = KM_PER_MIL * mil; /* tampilkan jarak dalam kilometer */ printf(“Hasil konversi adalah %lf kilometer.\n”, km); return(0); } Contoh hasil runing program : Masukkan jarak dalam mil : 10.00 Hasil konversi adalah 16.090000 kilometer

  19. Pengetesan Untuk memverifikasi bahwa program sudah berjalan sesuai dengan kebutuhan, cobalah mentest program dengan memasukkan beberapa jarak dalam mil yang lain.

  20. Studi Kasus : • Problem : Suatu dealer minyak menampung minyak jualannya di dalam drum-drum. Sementara semua pembeli selalu membeli minyak dengan membawa wadah yang sama berupa jerigen. Pemilik dealer agak kesulitan untuk menghitung harga minyak yang dibeli oleh pembeli, karena pembeli selalu membeli minyak dengan satuan jerigen (misalnya 3 jerigen, atau 3.5 jerigen), sementara harga jual yang diketahui adalah rupiah per drum, yaitu 100.000 rupiah per drum. Diketahui bahwa 1 jerigen isinya sama dengan 1/20 drum. Bisakah anda membantu pemilik dealer untuk memudahkan perhitungan harga total minyak yang dijual ke setiap pembeli?

  21. TAHAP PENGEMBANGAN PROGRAM DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintak Err T Executable code: => Run Y Output Err T DOKUMEN TASI

  22. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Masalah: Tentukanakar-akardarisuatupersamaankwadrat. Definisi: Persamaankwadrat : ax^2 + bx + c = 0 Data ygdiperlukan : Nilaidaria, b dan c : tipe real Sintak Err Executable code: => Run Output Err DOKUMEN TASI

  23. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Sintak Err Model Matematika : Rumus ABC x1 = (-b + sqrt(b^2 - 4ac))/2a x2 = (-b – sqrt(b^2 - 4ac))/2a Executable code: => Run Output Err DOKUMEN TASI

  24. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM Start COMPILE Masukkana,b,c Sintak Err d = b^2 – 4ac d < 0 Executable code: => Run Y T Cetak: “Akarmajiner” x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Output Err Cetak: x1, x2 DOKUMEN TASI Stop

  25. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

  26. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

  27. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

  28. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

  29. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

  30. TAHAP PENGEMBANGAN PROGRAM RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

  31. PenyajianAlgoritma • Algoritmabisadibuatdengan: • Tekniktulisanseperti : Structure englishdanPseudocode. • Teknikvisual seperti: Flow chart.

  32. Pseudocode Outlinedarisebuah program komputer DitulisdalambahasaInggrisatau Indonesia sederhana Katakunci (keyword) digunakanuntukmenjelaskanstrukturkendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)

  33. Pseudocode Tujuhoperasidasarkomputer: • Membaca data (Input) • Menampilkandata (Output) • Melakukanperhitunganaritmetika (Compute) • Memberikannilaikesuatu identifier (Store) • MembandingkandanMemilih (Compare) • Melakukanpengulangan (Loop) • Procedure danatau Function

  34. 1. MEMBACA DATA • Sewaktukomputermenerimainformasiatauinput, makastatement yang biasadigunakanadalah “Read”, “Get”, “Baca” ,”Input” atau “KeyIn” • Contoh: Read Bilangan Get kode_pajak Baca nama_mahasiswa

  35. 2. MenampilkanData • Sewaktukomputermenampilkaninformasiataupunoutput, makastatement yang biasadigunakanadalah “Print”, “Write”, “Put”, “Output”, “Display” ataupun “Cetak” • Contoh: Print “UniversitasBrawijaya” Cetak“DasarPemrogramanKomputer” Output Total

  36. 3. perhitunganAritmetika • Untukmelakukanoperasiaritmetikadigunakanpseudocodeberikut: + untukpenjumlahan (add) - Untukpengurangan (subtract) * Untukperkalian (multiply) / Untukpembagian (divide) () Untukkurung • Statement “Compute”, “Calculate” ataupun “Hitung” jugadapatdigunakan. • Contoh: Add number to total Total = Total + number

  37. 4. Memberikannilaike Identifier • Adatigacarauntukmemberikannilaikedalamvariabel : • Memberikannilaiawal, menggunakanstatement “Initialize” atau “Set” • Memberikannilaisebagaihasildarisuatuproses, makatanda “=“ digunakan • Untukmenyimpansuatunilaimakastatement “Save” atau “Store” digunakan • Contoh: Set Counter to 0 Total = Harga * Jumlah

  38. 5. Membandingkandanmemilih • Salahsatuoperasiterpenting yang dapatdilakukankomputeradalahmembandingkandanmemilihsalahsatualternatifsolusi. • Keyword yang digunakan : “IF”, “THEN” dan “ELSE” • Contoh IF Pilih=‘1’ THEN Discount = 0.1 * harga ELSE Discount = 0.2 * harga ENDIF

  39. 6. Pengulangan • Jikaadabeberapaperintah yang harusdiulang, makadapatdigunakankeyword “DOWHILE” dan “ENDDO”. • Contoh Bil = 0 DOWHILE bil < 10 cetakbil bil = bil +1 ENDDO

  40. ContohAlgoritmadgnPseudocode AlgoritmaMenggunakanKalkulator Mulai Nyalakankalkulator KosongkanKalkulator Ulangi Input harga Tekantombol Plus (+) Sampaisemuahargadiinput Tampilkan total harga Matikankalkulator Selesai

  41. ContohAlgoritmadgnPseudocode AlgoritmaBerangkatKuliah Mulai Bangundaritempattidur MandiPagi SarapanPagi PergiKeKampus CariRuangKuliah MasukkelasuntukKuliah Selesai

  42. ContohAlgoritmadgnPseudocode AlgoritmaSarapanPagi Mulai Ambilpiring Masukkannasidanlaukdalampiring Ambilsendokdangarpu Ulangi Angkatsendokdangarpu Ambilnasidanlauk Suapkankedalammulut Taruhsendokdangarpu Kunyah Sampai (nasidanlaukhabis) ATAU kekenyangan Bereskanpiring, sendokdangarpu Selesai

  43. FLOW CHART Arah Terminator Proses Konektor Input/Output Konektorantarhalaman Dokumen PemanggilanProcedure Pemilihan Pengulangan

  44. Hindaripengulangan proses yang tidakperludanlogika yang berbelitsehinggajalannyaproses menjadisingkat. Jalannyaproses digambarkandariataskebawahdandiberikantandapanahuntukmemperjelas. Sebuahflowchart diawalidarisatutitik START dandiakhiridenganEND atau STOP.

  45. ContohFLOW CHART Start Masukkana,b,c d = b^2 – 4ac Y d < 0 T CetakPesan “Akarimajiner” x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Cetak x1,x2 End

  46. KriteriaAlgoritma Yang Baik Mempunyailogika yang tepatuntukmemecahkanmasalah. Menghasilkan output yang benardalamwaktu yang singkat. Ditulisdenganbahasabakuterstruktursehinggatidakmenimbulkanartiganda. Ditulisdengan format bakusehinggamudahdiimplementasikankedalambahasapemrograman. Semuaoperasididefinisikandenganjelasdanberakhirsesudahsejumlahlangkah.

  47. PemrogramanTerstruktur • Pemrogramanterstrukturmerupakanpolapenyusunan program komputerhanyadenganmenggunakantigastrukturkontrolyaitu: • Sequence • Selection • Repetition

  48. 1. Sequence Sequence merupakanurutanpengerjaandariperintah/statementpertamasampaidenganperintah/statementterakhir. Umumnyabahasapemrogramanmempunyai sequence (urutanpengerjaandariperintah / statement ) mulaidariataskebawahdandarikirikekanan. Top-down

More Related