Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma

Presentasi serupa


Presentasi berjudul: "KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma"— Transcript presentasi:

1 KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma
Pertemuan 01 KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma Pemrograman Dasar

2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu : Menjelaskan tentang konsep dasar pemrograman komputer, algoritma dan tahapan pembuatan algoritma pemrograman terstruktur.

3 Outline Materi Konsep Dasar Pemrograman Definisi Algoritma
Tahap Pengembangan Algoritma Penyajian algoritma Pseudocode Flow Chart Pemrograman Terstruktur

4 Konsep Dasar Pemrograman Komputer
COMPUTER TO – COMPUTE + ER (Menghitung/Mengolah bilangan) (Mengolah Data) Nilai Data Nilai Data PUSAT PENGOLAH DATA Data yg Diolah Data hasil pengolahan (berbasis Arithmatika dan Logika) (Masukan/Input) (Keluaran/Output) Penyimpanan Data

5 Langkah Pembuatan Program
Pemrograman adalah suatu aktifitas pemecahan masalah. Metode pemecahan masalah dibahas pada berbagai bidang, misalnya: Di bidang bisnis digunakan pendekatan sistem Di bidang teknik dan sains digunakan metode teknik dan saintifik Di bidang pemrograman digunakan metode pengembangan software Langkah-langkah dalam metode Pembuatan Program: Menspesifikan kebutuhan masalah -> identifikasi masalah Menganalisis masalah -> metode penyelesaian terbaik Merancang/mendesign algoritma untuk menyelesaikan masalah -> Design pemrograman Mengimplementasikan algoritma -> coding Mentest dan memverifikasi program -> debuging; testing Memelihara dan meng-update program -> maintenance

6 1. Spesifikasi Masalah Kita harus dapat menspesifikasikan masalah dengan jelas dan tidak ambigu dan memiliki pemahaman yang jelas mengenai apa yang diperlukan untuk menyelesaikan masalah tersebut. Kita harus dapat mengeliminasi aspek-aspek yang tidak penting dari masalah. Dalam langkah ini, kita mungkin membutuhkan informasi dari orang-orang yang terlibat dalam masalah tersebut.

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 Dalam tahap design, kita menyusun algoritma (daftar langkah yang diperlukan untuk menyelesaikan masalah) dan memverifikasi apakah algoritma yang kita susun dapat menyelesaikan masalah sesuai dengan yang kita inginkan. Jangan berusaha secara langsung untuk menyelesaikan masalah secara detail pada saat merancang algoritme. Gunakan pendekatan top down design (disebut juga divide and conquer), yaitu pendekatan yang dimulai dengan mendaftar langkah-langkah utama atau submasalah yang diperlukan untuk menyelesaikan masalah utama, selanjutnya diikuti dengan menyusun penyelesaian untuk setiap submasalah.

10 Definisi Algoritma Algoritma adalah sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah. Berasal dari kata algoris dan ritmis. Awalnya diungkapkan oleh Al Khowarizmi. Di pemrograman, algoritma didefinisikan sebagai metode yang terdiri dari langkah- langkah terstuktur untuk mencari solusi suatu masalah dengan bantuan komputer.

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 Algoritma Source Code Executable Code

16 Contoh kasus: 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 = km

17 Penghalusan algoritme :
Design : Algoritme awal : Masukkan jarak dalam mil Konversi jarak dari mil ke kilometer Tampilkan hasil dalam kilometer Penghalusan algoritme : 2.1. Jarak dalam kilometer adalah 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 x 10 menjadi kilometer. Hasil ini akan ditampilkan di langkah 3.

18 Implementasi : Contoh hasil runing program :
/* Konversi jarak dari mil ke kilometer */ #include <stdio.h> /* definisi printf, scanf */ #include KM_PER_MIL /*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 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 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 Rujukan Brian W. Kernighan, Dennis M. Ritchie (1988). The C Programming Language, Second Edition, Prentice Hall Deitel, H.M. and Deitel, P.J. (2001). C HOW TO PROGRAM. 3rd edition. Prentice Hall, NJ. Gottfried, B.S. (1996). Schaum’s Outline Series. Theory and Problems of Programming with C. McGraw Hill, NY. Ngoen. Th. S. (2004). Pengantar Algoritma dengan Bahasa C. Penerbit Salemba Teknika. Sedgewick, R. (1992). Algorithms in C++. Addison Wesley.

22 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

23 TAHAP PENGEMBANGAN PROGRAM
DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Masalah: Tentukan akar-akar dari suatu persamaan kwadrat. Definisi: Persamaan kwadrat : ax^2 + bx + c = 0 Data yg diperlukan : Nilai dari a, b dan c : tipe real Sintak Err Executable code: => Run Output Err DOKUMEN TASI

24 TAHAP PENGEMBANGAN PROGRAM
DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA 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

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

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

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

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

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

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

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

32 Penyajian Algoritma Algoritma bisa dibuat dengan:
Teknik tulisan seperti : Structure english dan Pseudocode. Teknik visual seperti : Flow chart.

33 Pseudocode Outline dari sebuah program komputer
Ditulis dalam bahasa Inggris atau Indonesia sederhana Kata kunci (keyword) digunakan untuk menjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)

34 Pseudocode Tujuh operasi dasar komputer: Membaca data (Input)
Menampilkan data (Output) Melakukan perhitungan aritmetika (Compute) Memberikan nilai ke suatu identifier (Store) Membandingkan dan Memilih (Compare) Melakukan pengulangan (Loop) Procedure dan atau Function

35 1. MEMBACA DATA Sewaktu komputer menerima informasi atau input, maka statement yang biasa digunakan adalah “Read”, “Get”, “Baca” ,”Input” atau “KeyIn” Contoh: Read Bilangan Get kode_pajak Baca nama_mahasiswa

36 2. Menampilkan Data Sewaktu komputer menampilkan informasi ataupun output, maka statement yang biasa digunakan adalah “Print”, “Write”, “Put”, “Output”, “Display” ataupun “Cetak” Contoh: Print “Universitas Brawijaya” Cetak “Dasar Pemrograman Komputer” Output Total

37 3. perhitungan Aritmetika
Untuk melakukan operasi aritmetika digunakan pseudocode berikut: + untuk penjumlahan (add) - Untuk pengurangan (subtract) * Untuk perkalian (multiply) / Untuk pembagian (divide) () Untuk kurung Statement “Compute”, “Calculate” ataupun “Hitung” juga dapat digunakan. Contoh: Add number to total Total = Total + number

38 4. Memberikan nilai ke Identifier
Ada tiga cara untuk memberikan nilai ke dalam variabel : Memberikan nilai awal, menggunakan statement “Initialize” atau “Set” Memberikan nilai sebagai hasil dari suatu proses, maka tanda “=“ digunakan Untuk menyimpan suatu nilai maka statement “Save” atau “Store” digunakan Contoh: Set Counter to 0 Total = Harga * Jumlah

39 5. Membandingkan dan memilih
Salah satu operasi terpenting yang dapat dilakukan komputer adalah membandingkan dan memilih salah satu alternatif solusi. Keyword yang digunakan : “IF”, “THEN” dan “ELSE” Contoh IF Pilih=‘1’ THEN Discount = 0.1 * harga ELSE Discount = 0.2 * harga ENDIF

40 6. Pengulangan Jika ada beberapa perintah yang harus diulang, maka dapat digunakan keyword “DOWHILE” dan “ENDDO”. Contoh Bil = 0 DOWHILE bil < 10 cetak bil bil = bil +1 ENDDO

41 Contoh Algoritma dgn Pseudocode
Algoritma Menggunakan Kalkulator Mulai Nyalakan kalkulator Kosongkan Kalkulator Ulangi Input harga Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga Matikan kalkulator Selesai

42 Contoh Algoritma dgn Pseudocode
Algoritma Berangkat Kuliah Mulai Bangun dari tempat tidur Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk kelas untuk Kuliah Selesai

43 Contoh Algoritma dgn Pseudocode
Algoritma Sarapan Pagi Mulai Ambil piring Masukkan nasi dan lauk dalam piring Ambil sendok dan garpu Ulangi Angkat sendok dan garpu Ambil nasi dan lauk Suapkan ke dalam mulut Taruh sendok dan garpu Kunyah Sampai (nasi dan lauk habis) ATAU kekenyangan Bereskan piring, sendok dan garpu Selesai

44 FLOW CHART Terminator Arah Proses Konektor Input/Output
Konektor antar halaman Dokumen Pemanggilan Procedure Pemilihan Pengulangan

45

46

47 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END atau STOP.

48 Cetak Pesan “Akar imajiner”
Contoh FLOW CHART Start d = b^2 – 4ac d < 0 x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a End Y T Masukkan a,b,c Cetak x1,x2 Cetak Pesan “Akar imajiner”

49 Kriteria Algoritma Yang Baik
Mempunyai logika yang tepat untuk memecahkan masalah. Menghasilkan output yang benar dalam waktu yang singkat. Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda. Ditulis dengan format baku sehingga mudah diimplementasikan kedalam bahasa pemrograman. Semua operasi didefinisikan dengan jelas dan berakhir sesudah sejumlah langkah.

50 Pemrograman Terstruktur
Pemrograman terstruktur merupakan pola penyusunan program komputer hanya dengan menggunakan tiga struktur kontrol yaitu: Sequence Selection Repetition

51 1. Sequence Sequence merupakan urutan pengerjaan dari perintah/statement pertama sampai dengan perintah/statement terakhir. Umumnya bahasa pemrograman mempunyai sequence (urutan pengerjaan dari perintah / statement ) mulai dari atas ke bawah dan dari kiri ke kanan. Top-down

52 Contoh Sequence Contoh: Penjelasan Cetak “Jumlah Mahasiswa”
Set Jumlah to 49 Cetak “Tambahan mahasiswa baru” Baca mhs_baru Jumlah = Jumlah + mhs_baru Cetak jumlah Penjelasan Urutan pengerjaan adalah mulai dari urutan pertama sampai dengan urutan terakhir, jika mhs_baru diisi dengan 2, maka jumlah yang tercetak adalah 51

53 2. Selection Struktur Kontrol Selection adalah penggambaran sebuah kondisi dan pilihan diantara dua aksi. Statement Pertama akan dikerjakan jika kondisi bernilai benar, jika tidak maka akan mengerjakan perintah setelah keyword “else” (jika ada).

54 Contoh Selection Contoh : Penjelasan IF Hari=1 THEN Cetak “Senin” ELSE
Cetak “Bukan hari Senin” ENDIF Penjelasan Tulisan “Senin” akan ditampilkan jika Hari bernilai 1, jika tidak maka tulisan “Bukan hari Senin” yang akan ditampilkan

55 3. Repetition Beberapa statement / perintah dapat diulang dengan menggunakan struktur kontrol repetition. Statement / perintah akan tetap diulang selama kondisi perulangan memenuhi (jika menggunakan DOWHILE – ENDDO)

56 Contoh Repetition Contoh: Penjelasan: Bintang = 0
DOWHILE bintang < 5 Cetak bintang bintang = bintang + 1 ENDDO Penjelasan: Pertama kali bintang akan diisi dengan 0, setelah itu isi dari bintang akan dicetak sebanyak lima kali, sehingga tampilannya akan sebagai berikut:

57 Contoh Kasus Studi Kasus satu
Menghitung Luas Permukaan kubus :6 * luas sisi kubus Menghitung Volume bola : 4/3*Phi* r3 Memperkirakan lama di jalan bila kecepatan mobil 50 km/jam dan jarak tempuh 100 km : lama di jalan = jarak/kecepatan Mencari nilai akar persamaan ax2+bx+c=0

58 Solusi Kasus 1 Panjang rusuk kubus (r) dalam satuan jarak.
Problem: Hitung dan tampilkan luas permukan kubus. Analisis: Hitung dan tampilkan luas permukaan kubus jika sisi kubus diketahui. Input: Panjang rusuk kubus (r) dalam satuan jarak. Output: Luas permukaan kubus (luas) Rumus : luas=6 x r x r

59 Solusi Kasus 1 Algoritma : Masukkan rusuk kubus (r) Hitung luas
luas = 6 x r x r tampilkan luas

60 Solusi Kasus 1 PsuedoCode start read r; Calculate luas=6 * r * r;
Tulisan disamping seklias mirip dengan bahasa pemrograman, padahal sebenarnya adalah bahasa Indonesia/ Inggris yang berisi urutan proses dan ditulis mirip code program start read r; Calculate luas=6 * r * r; Display luas; stop

61 Solusi Kasus 4 koefisien a, b, c
Problem: Cari dan tampilkan akar-akar persamaan kuadrat ax2 + bx + c=0. Analisis: Mencari nilai akar-akar persamaan kuadrat dan menampilkan hasilnya. Input: koefisien a, b, c Output: x1, x2 Rumus : x1= (-b + √D )/2a x2= (-b - √D )/2a dengan D = b2 – 4ac dan a ≠ 0

62 Solusi Kasus 4 Algoritma : Masukkan koefisien a Masukkan koefisien b
Masukkan koefisien c Hitung D D = b2 – 4ac Jika D<0 maka 5.1 Tampilkan “Tidak ada akar real” Jika tidak, maka 5.2 Hitung x1 x1= (-b + √D )/2a 5.3 Hitung x2 x2= (-b - √D )/2a 5.4 tampilkan x1 5.5 tampilkan x2 END

63 Studi Kasus 2 Contoh Psuedocode start baca a; baca b; baca c;
Tulisan disamping seklias mirip dengan bahasa pemrograman, padahal sebenarnya adalah bahasa Indonesia/ Inggris yang berisi urutan proses dan ditulis mirip code program Contoh Psuedocode start baca a; baca b; baca c; hitung D=b^2-4*a*c; IF D<0 { cetak "Tidak ada akar real"; } ELSE { hitung x1=(-b+sqrt(D))/2a; hitung x2=(-b-sqrt(D))/2a; cetak x1; cetak x2; stop

64 Cetak “Tidak ada akar real”
FLOW CHART Start d = b^2 – 4ac d < 0 x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a End Y T Masukkan a,b,c Cetak x1,x2 Cetak “Tidak ada akar real”

65 Latihan 1. Buatlah algoritma menggunakan pseudocode untuk menghitung luas persegi panjang 2. Buatlah algoritma menggunakan pseudocode untuk mengubah jam dan menit yang diinput ke dalam satuan detik. 3. Buatlah algoritma menggunakan pseudocode untuk menentukan apakah bilangan yang diinput adalah bilangan ganjil atau bilangan genap.

66 Latihan 4. Buatlah algoritma menggunakan pseudocode untuk menghitung luas lingkaran. 5. Buatlah algoritma menggunakan pseudocode untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil dan rata- ratanya.

67 Latihan Ulangi latihan no. 1 s/d no. 5 diatas dengan menggunakan Flow Chart.

68 Pak Tono diberi tugas mengambil air dari sungai sebanyak 4 Liter
Pak Tono diberi tugas mengambil air dari sungai sebanyak 4 Liter. Pak Tono hanya dibekali dua ember yang berukuran 5 liter dan 3 liter. Pak Tono dilarang menggunakan alat bantu lain. Buatlah langkah agar Pak Tono mendapatkan air 4 liter yang dimaksud!


Download ppt "KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma"

Presentasi serupa


Iklan oleh Google