Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehVera Setiawan Telah diubah "6 tahun yang lalu
1
TEL 2112 Dasar Komputer & Pemograman Algoritma Pemrograman
Abdillah, S.Si, MIT Website:
2
Algoritma Algorithm berasal dari kata algoritmi, nama latin seorang cendikiawan muslim dari Uzbekistan yang bernama Abu Ja’far Muhammad bin Musa Al-Khwarizmi.
3
Sebuah perangko yang diterbitkan pada 6 Sept oleh Uni Sovyet, untuk memperingati tahun Al-Khwarizmi.
4
Apa itu Algoritma? Definisi :
Algoritma adalah urutan logis langkah-langkah penyelesaian masalah
5
Apa Hubungan Algoritma dan Program Komputer?
Program komputer adalah realisasi teknis dari sebuah algoritma.
6
Belajar Bahasa Pemrograman
Belajar bahasa pemrograman berarti belajar memakai suatu bahasa pemrograman, aturan tata bahasanya, instruksinya, tata cara pengoperasian kompilernya dan memanfaatkan istruksi tersebut untuk membuat program yang ditulis dalam bahasa tersebut.
7
Belajar Memprogram Belajar memprogram berarti belajar tentang metodologi pemecahan masalah, kemudian menuangkan algoritma pemecahan masalah dalam suatu notasi algoritmik
8
Notasi Algoritmik Notasi algoritmik bersifat independen terhadap bahasa pemrograman sehingga dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Ada dua notasi yang umum digunakan: Flow chart (diagram alir) Pseudo-code (menyerupai notasi bahasa pemrograman tingkat tinggi)
9
Struktur Teks Pseudo-code
PROGRAM Nama Program { Penjelasan tentang algoritma, yang berisi uraian singkat mengenai masalah yang akan diselesaikan } DEKLARASI { Semua nama yang dipakai, meliputi nama tipe, konstanta, peubah, prosedur dan fungsi diumumkan di sini } ALGORITMA: { Semua langkah/aksi algoritma dituliskan di sini }
10
Tujuan Dengan belajar dari contoh, mahasiswa mampu memecahkan masalah dalam sebuah algoritma pemecahan masalah menggunakan notasi pseudo-code.
11
Contoh Masalah Tinjau sebuah masalah sederhana yakni mempertukarkan isi dari dua buah gelas. Gelas A berisi air kopi dan gelas B berisi air susu. Kita ingin mempertukarkan isi kedua gelas itu sedemikian hingga gelas A akan berisi air susu dan gelas B berisi air kopi.
12
Contoh Algoritma Misalkan seseorang menuliskan langkah-langkah pertukaran isi kedua gelas tersebut ke dalam program Tukar_Isi dengan algoritma sbb: PROGRAM Tukar_Isi {Diberikan dua buah gelas, A dan B; gelas A berisi air kopi dan gelas B berisi air susu. Pertukarkan isi kedua gelas} DEKLARASI A, B : gelas ALGORITMA: Tuangkan air dari gelas A ke dalam gelas B Tuangkan air dari gelas B ke dalam gelas A Perhatikan bahwa algoritma Tukar_Isi di atas tidak akan menghasilkan pertukaran yang benar. Langkah-langkahnya tidak logis.
13
Perhatikan langkah pemecahan berikut:
14
Algoritma Pemecahan Masalah
C A { simpan A di tempat penampungan sementara C } A B { sekarang A dapat diisi dengan nilai B } B C { isi B dengan nilai A semula yang tadi disimpan di C }
15
Contoh Masalah Buatlah algoritma untuk mempertukarkan nilai dari dua buah variabel. Misalkan A = 8 dan B = 5. Kita ingin mempertukarkan nilai A dan B sedemikian hingga A = 5 dan B = 8.
16
Algoritma Pemecahan Masalah
Algoritma pertukaran dua buah nilai ini sama seperti algoritma mempertukarkan isi dari dua buah gelas. PROGRAM Pertukaran_Nilai { Mempertukarkan nilai A dan B. Nilai A dan B dibaca terlebih dahulu } DEKLARASI A, B, temp : integer ALGORITMA: read (A,B) {Baca nilai A dan B terlebih dahulu} {Proses pertukaran} temp A {simpan A di tempat sementara, temp} A B {sekarang A dapat diisi dengan nilai B} B temp {isi B dengan nilai A semula yang tadi disimpan di temp} write (A,B){cetak nilai A dan B setelah pertukaran}
17
Contoh Masalah Buatlah algoritma yang membaca panjang dan lebar sebuah segi empat lalu menghitung luasnya. Luas segi empat itu dicetak ke piranti keluaran. panjang lebar
18
Algoritma Pemecahan Masalah
PROGRAM Luas_Segi_Empat { Membaca panjang dan lebar segi empat, menghitung luasnya, lalu mencetak luas tersebut ke piranti keluaran } DEKLARASI panjang, lebar, luas: real ALGORITMA: read (panjang, lebar) {Proses pertukaran} luas panjang * lebar write (luas)
19
Masalah Selanjutnya.. Buatlah algoritma untuk mempertukarkan nilai dari dua buah peubah, A dan B tanpa menggunakan peubah bantu.
20
Contoh Algoritma PROGRAM Pertukaran_Nilai
{ Program untuk mempertukarkan nilai A dan B tanpa peubah bantu. Nilai A dab B dibaca terlebih dahulu} DEKLARASI A, B : integer ALGORITMA: read (A,B) { baca nilai A dan B terlebih dahulu } write (A,B) { cetak nilai A dan B sebelum pertukaran } A A + B { proses pertukaran } A A - B write (A,B) { cetak nilai A dan B setelah pertukaran }
21
Contoh Algoritma PROGRAM Komisi_Salesman
{ Menghitung komisi salesman yang besarnya 5% dari nilai penjualan } DEKLARASI nama_salesman : string nilai_penjualan, komisi : real ALGORITMA: read (nama_salesman, nilai_penjualan) komisi 0.05 * nilai_penjualan write (komisi)
22
Contoh Algoritma PROGRAM Gaji_Karyawan
{ Menghitung gaji bersih = gaji pokok + tunjangan – pajak, tunjangan = 20% dari gaji pokok dan pajak = 15% dari gaji pokok ditambah tunjangan } DEKLARASI const persen_tunjangan = 0.2 const persen_pajak nama_karyawan : string gaji_pokok, tunjangan, pajak, gaji_bersih : real ALGORITMA: read (nama_karyawan, gaji_pokok) tunjangan persen_tunjangan * gaji_pokok pajak persen_pajak * (gaji_pokok + tunjangan) gaji_bersih gaji_pokok + tunjangan - pajak write (nama_karyawan, gaji_bersih)
23
Contoh Algoritma PROGRAM Konversi_ke_detik
{ Membaca waktu tempuh pelari maraton dalam jam, menit dan detik. Kemudian mengkonversi waktu tempuh ke dalam detik } DEKLARASI type Jam = record < hh, mm,dd : integer > waktu_tempuh : Jam total_detik : integer ALGORITMA: read (jam, menit,detik) total_detik (waktu_tempuh.hh * 3600) + (waktu_tempuh.mm * 60) + waktu_tempuh.ss write (total_detik)
24
Contoh Algoritma PROGRAM Konversi_ke_Jam_Menit_Detik
{ Membaca durasi percakapan telepon dalam detik. Kemudian mengkonversi waktu ke dalam jam, menit dan detik. } DEKLARASI type Jam = record < hh, mm,dd : integer > durasi : Jam total_detik, sisa : integer ALGORITMA: read (total_detik) durasi.hh total_detik div 3600 Sisa total_detik mod 3600 durasi.mm sisa div 60 durasi.ss sisa mod 60 write (durasi.hh, durasi.mm, durasi.ss)
25
Tugas Mandiri 2 Buatlah algoritma yang membaca sebuah waktu permulaan ujian dalam format hh:mm:ss dan durasi waktu ujian dalam format menit. Kemudian hitung dan tampilkan waktu berakhirnya ujian. Buatlah algoritma yang membaca tiga buah angka kemudian mengurutkan dan menampilkan dari yang terkecil hingga yang terbesar.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.