Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pemrograman Dasar 1 Pertemuan 01. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Menjelaskan tentang konsep dasar pemrograman komputer,

Presentasi serupa


Presentasi berjudul: "Pemrograman Dasar 1 Pertemuan 01. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Menjelaskan tentang konsep dasar pemrograman komputer,"— Transcript presentasi:

1 Pemrograman Dasar 1 Pertemuan 01

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

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

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

5  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: 1. Menspesifikan kebutuhan masalah -> identifikasi masalah 2. Menganalisis masalah -> metode penyelesaian terbaik 3. Merancang/mendesign algoritma untuk menyelesaikan masalah -> Design pemrograman 4. Mengimplementasikan algoritma -> coding 5. Mentest dan memverifikasi program -> debuging; testing 6. Memelihara dan meng-update program -> maintenance 5

6  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. 6

7  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. 7

8  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. 8

9  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. 9

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

11  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. 11

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

13  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. 13

14  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. 14

15 MASALAH / IDEA PEMECAHANSOLUSI / HASIL Algoritma Source Code Executable Code

16  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 16

17  Design : Algoritme awal : 1. Masukkan jarak dalam mil 2. Konversi jarak dari mil ke kilometer 3. Tampilkan hasil dalam kilometer Penghalusan algoritme : 1. Masukkan jarak dalam mil 2. Konversi jarak dari mil ke kilometer 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. 17

18  Implementasi : /* Konversi jarak dari mil ke kilometer */ #include /* 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 : Hasil konversi adalah kilometer 18

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

20  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? 20

21  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. 21

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

23 23 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI 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

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

25 25 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 26 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

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

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

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

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

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

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

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

34 Tujuh operasi dasar komputer: 1. Membaca data (Input) 2. Menampilkan data (Output) 3. Melakukan perhitungan aritmetika (Compute) 4. Memberikan nilai ke suatu identifier (Store) 5. Membandingkan dan Memilih (Compare) 6. Melakukan pengulangan (Loop) 7. Procedure dan atau Function 34

35 SSewaktu komputer menerima informasi atau input, maka statement yang biasa digunakan adalah “Read”, “Get”, “Baca”,”Input” atau “KeyIn” CContoh: Read Bilangan Get kode_pajak Baca nama_mahasiswa 35

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

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

38 A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 CContoh: Set Counter to 0 Total = Harga * Jumlah 38

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

40  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 40

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

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

43 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 43

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

45 45

46 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. 47

48 48 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  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. 49

50  Pemrograman terstruktur merupakan pola penyusunan program komputer hanya dengan menggunakan tiga struktur kontrol yaitu: 1.Sequence 2.Selection 3.Repetition 50

51  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 51

52  Contoh: Cetak “Jumlah Mahasiswa” Set Jumlah to 49 Cetak “Tambahan mahasiswa baru” Baca mhs_baru Jumlah = Jumlah + mhs_baru Cetak “Jumlah Mahasiswa” 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 52

53  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). 53

54  Contoh : 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 54

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

56  Contoh: 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  Studi Kasus satu 1. Menghitung Luas Permukaan kubus :6 * luas sisi kubus 2. Menghitung Volume bola : 4/3*Phi* r 3 3. Memperkirakan lama di jalan bila kecepatan mobil 50 km/jam dan jarak tempuh 100 km : lama di jalan = jarak/kecepatan 4. Mencari nilai akar persamaan ax 2 +bx+c=0

58 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  Algoritma : 1. Masukkan rusuk kubus (r) 2. Hitung luas luas = 6 x r x r 3. tampilkan luas

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

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

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

63  Contoh Psuedocode 63 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 Tulisan disamping seklias mirip dengan bahasa pemrograman, padahal sebenarnya adalah bahasa Indonesia/ Inggris yang berisi urutan proses dan ditulis mirip code program

64 64 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 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. 65

66 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. 66

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

68  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! 68


Download ppt "Pemrograman Dasar 1 Pertemuan 01. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Menjelaskan tentang konsep dasar pemrograman komputer,"

Presentasi serupa


Iklan oleh Google