• Tidak ada hasil yang ditemukan

Pertemuan 01. Pemrograman Dasar

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pertemuan 01. Pemrograman Dasar"

Copied!
67
0
0

Teks penuh

(1)Pertemuan 01. Pemrograman Dasar. 1.

(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) COMPUTER. TO – COMPUTE + ER (Menghitung/Mengolah bilangan) (Mengolah Data). Data yg Diolah (Masukan/Input). PUSAT PENGOLAH DATA (berbasis Arithmatika dan Logika). Data hasil pengolahan (Keluaran/Output). Penyimpanan Data 4.

(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 aspekaspek yang tidak penting dari masalah.  Dalam langkah ini, kita mungkin membutuhkan informasi dari orangorang 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 hatihati 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 variabelvariabel 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)  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 langkahlangkah 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. Algoritma. PEMECAHAN. Source Code. SOLUSI / HASIL. 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 = 1.609 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 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. 17.

(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. 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 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?. 20.

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

(22) 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. 23.

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

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

(25) DEFINISI MASALAH. MEMBUAT MODEL. RANCANG ALGORITMA. TULIS PROGRAM. COMPILE. Sintak Err. Executable code: => Run. Output Err. DOKUMEN TASI. 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) . Algoritma bisa dibuat dengan: • Teknik tulisan seperti : Structure english dan. Pseudocode. • Teknik visual seperti : Flow chart.. 32.

(32)  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”). 33.

(33) 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.

(34) . . 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. 35.

(35) . . 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. 36.

(36) . 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 37.

(37) . 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. 38.

(38) .  . 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. 39.

(39)  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.

(40) 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.

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

(42) 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.

(43) Terminator. Arah. Proses. Konektor. Input/Output. Konektor antar halaman. Dokumen. Pemanggilan Procedure. Pemilihan Pengulangan 44.

(44) 45.

(45) 46.

(46)  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.

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

(48) . . . . . 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.

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

(50)  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.

(51) . 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.

(52) . . 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.

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

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

(55) 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: 01234. 56.

(56)  Studi. Kasus satu. 1. Menghitung Luas Permukaan kubus :6 *. luas sisi kubus 2. Menghitung Volume bola : 4/3*Phi* r3 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 ax2+bx+c=0.

(57) 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.

(58)  Algoritma. :. 1. Masukkan rusuk kubus (r) 2. Hitung luas. luas = 6 x r x r 3. tampilkan luas.

(59)  PsuedoCode. 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. 60.

(60) 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.

(61) . Algoritma : 1. 2. 3. 4.. Masukkan koefisien a Masukkan koefisien b Masukkan koefisien c Hitung D. D = b2 – 4ac 5. 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. 6. END.

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

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

(64) 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.

(65) 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 rataratanya.. 66.

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

(67)  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.

(68)

Referensi

Dokumen terkait

bahwa Peraturan Daerah Kotamadya Daerah Tingkat II Ujung Pandang Nomor 14 Tahun 1999 tentang Retribusi Pelayanan Persampahan/Kebersihan (Lembaran Daerah Kotamadya Daerah Tingkat

Pemerintah juga sudah sepatutnya menetapkan hukum perkawinan yang jelas dan tegas, yang berlaku bagi pasangan yang berbeda keyakinan, sehingga masyarakat Indonesia yang berbeda

Lukisan berjudul Women III adalah merupakan hasil karya yang dibuat oleh seniman yang menganut aliran lukisan abstrak ekspresionis willem de Kooning dan merupakan salah satu

Petani yang memiliki umur yang semakin tua (&gt;50 tahun) biasanya semakin lamban mengadopsi ilmu baru atau inovasi baru yang dijelaskan oleh penyuluh dan cenderung hanya

Karena proses pendataan yang dipakai di PT.Kharisma Prima Abadi sela ma ini masih menggunakan proses manual dan menggunakan Microsoft Office Excel, maka penulis ingin membuat

Resolusi citra dengan warna yang sama tidak terlalu berbeda untuk nilai persentase kompresi dan rasio kompresi atau dengan kata lain resolusi citra dengan warna yang sama tidak

Penggabungan teknik sub-kanalisasi dan modulasi adaptif pada mobile WiMAX bisa memperbaiki kinerja sistem modulasi dan sub-kanalisasi adaptif dengan cara mengatur penggunaan

Section 1 gives related mathematical basics, including ma- jorizations of convex and concave functions, as well as the definitions of information diver- gences. Section 2 presents