Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehLiana Lie Telah diubah "5 tahun yang lalu
1
Notasi Algoritmik, Tipe Dasar, Nilai, Ekspresi dan Input/Output
Oleh : Tim Teaching Bernadus Anggo Seno Aji, S.Kom., M.Kom Farah Zakiyah Rahmanti, S.ST., M.T. Agustus 2018
2
Bahan kajian Mata kuliah
Notasi Algoritmik, Tipe Dasar, Nilai, Percabangan Percabangan Perulangan Skema Pemprosesan Sekuensial Fungsi UTS Prosedur Array dan String Searching Sorting UAS
3
Review : Algoritma vs Program
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis” Program = Algoritma + Struktur Data Algoritma adalah solusi detail secara prosedural dari suatu persoalan dalam notasi algoritmik. Program adalah program komputer dalam suatu bahasa pemrograman yang tersedia di dunia nyata.
4
Teks Algoritma
5
Contoh Kamus Agustus 2017
6
Tipe Data Tipe Data Dasar Tipe Data Enumerasi Tipe Data Bentukan
Bilangan Logika / Boolean Bilangan Bulat / Integer Bilangan Riil / Real Karakter / Char Tipe Data Enumerasi Tipe Data Bentukan Type tidak menentukan alokasi memori di komputer tapi hanya mendefinisikan pola struktur informasi
7
Tipe Data Dasar Boolean
Nama boolean Domain [true,false] Konstanta true false
8
Tipe Data Dasar Boolean
9
Tipe Data Dasar Integer
Nama : integer Domain : Z Memiliki suksesor dan predesesor (keterurutan) Suksesor 0 adalah 1 Predesesor 1 adalah 0
10
Tipe Data Dasar Real Nama : real / Float (dalam C) Domain : R
E berarti pangkat 10
11
Tipe Data Dasar Character
Nama : character Domain : himpunan yang terdefinisi pada suatu enumerasi (ASCII) [‘0’..‘9’, ‘a’..‘z’, ‘A’..‘Z’, SPACE, RETURN, EOL] Konstanta : ‘d’, ‘a’, ‘p’, SPACE
12
Tipe Data Istimewa String
Nama : string Domain : seluruh untaian karakter yang didefinisikan pada character Konstanta “Alpro mudah”, “Alpro”, “Alpro seru”
13
Tipe Data Bentukan type nama_type < elemen_1 : type_1, elemen_2 : type_2, …………………… elemen_n : type_n,> type Point <X : real , Y : real> type Date <HH : integer[0..23] , MM : integer[0..59] , SS : integer[0..59] >
14
Nilai Nilai adalah suatu besaran bertipe yang telah dikenal
Dalam program, nilai disimpan dalam suatu variabel sehingga dapat dilakukan operasi aritmetika dan logika dengan mengacu nama variabelnya Nilai dapat diperoleh dari Merupakan isi dari suatu nama variabel Hasil perhitungan suatu ekspresi Hasil yang dikirim suatu fungsi Merupakan suatu konstanta
15
Pengisian Nilai melalui Assignment
Assignment adalah instruksi primitif algorimtik untuk menyimpan informasi
16
Syarat Assignment Bagian kiri dan bagian kanan tanda pemberian harga (← ) bertype sama <nama> dan <nama1> (bagian kiri tanda ← ) harus merupakan nama informasi, tidak boleh nama konstanta, type, fungsi atau prosedur Nama yang tertulis di bagian kanan tanda ← (misalnya nama2 atau nama konstanta atau nama yang dipakai dalam ekspresi) boleh berupa nama informasi, nama fungsi, nama konstanta Semua nama yang dipakai dalam assignment tidak boleh berupa nama type atau nama prosedur
17
Pengisian Nilai melalui Input
Suatu harga dapat diisikan ke suatu nama informasi melalui pembacaan harga tersebut dari piranti masukan (keyboard, mouse, scanner, dsb Syarat : list nama adalah satu atau lebih nama informasi nama yang muncul pada list-nama hanya boleh berupa nama informasi, dan tidak boleh nama lain (nama konstanta, type, fungsi atau prosedur)
18
Assignment
19
Output Suatu nilai yang disimpan dalam memori komputer harus dapat dikomunikasikan ke dunia luar untuk diinterpretasikan oleh pemakai program Dalam hal ini, harga harus dapat dituliskan ke suatu piranti keluaran, misalnya layar, printer Instruksi algoritmik untuk menuliskan nama informasi adalah instruksi penulisan atau output
20
Output
21
Syarat Output List nama adalah satu atau lebih nama : boleh nama INFORMASI, nama KONSTANTA atau nama FUNGSI berikut parameternya. Nama-nama dalam list-nama TIDAK BOLEH berupa nama TYPE atau PROSEDUR Nama yang akan dituliskan sudah terdefinisi harganya. Jika suatu nama informasi, didefinisikan dengan assignment atau instruksi input
22
jumlah bilangan1+bilangan2
Ekspresi Ekspresi adalah suatu “rumus perhitungan” yang terdiri dari operan dan operator Contoh : jumlah bilangan1+bilangan2 Operan : bilangan1 dan bilangan2 Operator : + Ekspresi uner adalah ekspresi dengan operator uner, yaitu operator yang hanya membutuhkan satu operan
23
Ekspresi Uner Ekspresi uner adalah ekspresi dengan operator uner, yaitu operator yang hanya membutuhkan satu operan Contoh not true
24
Ekspresi Biner Ekspresi biner adalah ekspresi dengan operator biner (membutuhkan dua operan) dapat dituliskan dalam 3 macam notasi, yaitu : Notasi infix: operan1 operator operan2 13 * 5 ((3 * 5) + (4 div 7) )- (a * b) Notasi prefix: operator operan1 operan2 * 13 5 - +* 3 5 div 4 7 * a b Notasi suffix/Polish: operan1 operan2 operator 13 5 * 3 5 * 4 7 div + a b * -
25
Sekuensial Sequence adalah sederetan instruksi primitif dan/atau aksi yang akan dilaksanakan (dieksekusi) oleh komputer berdasarkan urutan penulisannya. Initial State dari sequence adalah state awal yang harus dipenuhi dan Final state dari sequence adalah final state setelah instruksi/aksi terakhir. Sequence dapat dituliskan menjadi satu baris program dengan cara memisahkan penulisan setiap instruksi/aksi dengan tanda “titik koma”. Penulisan sequence dengan dipisahkan titik koma sebaiknya hanya dilakukan untuk sequence yang jika urutan penulisannya diubah tidak berpengaruh kepada program
26
Penulisan Sekuensial Sequence dapat dituliskan menjadi satu baris program dengan cara memisahkan penulisan setiap instruksi/aksi dengan tanda “titik koma”. Penulisan sequence dengan dipisahkan titik koma sebaiknya hanya dilakukan untuk sequence yang jika urutan penulisannya diubah tidak berpengaruh kepada program
27
Penulisan Sekuensial Sequence dapat dituliskan menjadi satu baris program dengan cara memisahkan penulisan setiap instruksi/aksi dengan tanda “titik koma”. Penulisan sequence dengan dipisahkan titik koma sebaiknya hanya dilakukan untuk sequence yang jika urutan penulisannya diubah tidak berpengaruh kepada program
28
Penulisan Sekuensial Sequence dapat dituliskan menjadi satu baris program dengan cara memisahkan penulisan setiap instruksi/aksi dengan tanda “titik koma”. Penulisan sequence dengan dipisahkan titik koma sebaiknya hanya dilakukan untuk sequence yang jika urutan penulisannya diubah tidak berpengaruh kepada program
29
Hello World !
30
Latihan 1 Buatlah algoritma yang meminta 2 buah inputan bilangan bulat dari user, lalu mengoutputkan hasil tambah dan kali kedua bilangan tersebut. Hasil yang diharapkan : Masukkan bil1 : 10 Masukkan bil2 : 20 = 30 10 x 20 = 200
31
Latihan 2 Buatlah algoritma yang meminta inputan berupa 3 buah bilangan bulat, lalu mengoutputkan perhitungan berikut ini : bil1^2 + (bil2/bil3) – bil 3 Output yang diharapkan adalah : Masukkan bil1, bil2, bil3 : 3,2,4 Hasil perhitungan bil1^2+ (bil2/bil3) – bil3 adalah 9 + (2/4) – 4 = 5.5
32
Latihan 3 Spesifikasi: Input : v (kecepatan, m/detik) real dan S (jarak yang ditempuh dalam meter ) integer Proses : menghitung t = S / v Output :t (waktu, detik)
33
Latihan 4 Suatu bus pariwisata berkapasitas 25 orang. Suatu sekolah ingin berwisata menggunakan bus tersebut. Berdasarkan jumlah siswa yang terdapat disekolah tersebut, berapa banyak bus yang berisi penuh dan berapa sisa siswa yang tidak dapat bus? Buat algoritma untuk kasus tersebut. Contoh : Input : Jumlah siswa : 90 Output : Bus : 3 Sisa siswa : 15
34
Soal 5 Buat program dengan tampilan
Nama 1 : <masukkan Nama orang 1> Umur 1 : <masukkan umur orang 1> Nama 2 : <masukkan Nama orang 2> Umur 2 : <masukkan umur orang 2> //Selisih = |Umur1-Umur2| Selisih umur <Nama1> dan <Nama2> adalah <Selisih>
35
Soal 6 Buatlah program untuk mencetak gabungan dari huruf-huruf yang di asignment A C B I C E D B E S F A Keluaran CIE BISA 04/04/2019
36
04/04/2019
37
Program Versi 1
38
Program Versi 2 Mengenai input untuk program : dalam kehidupan sehari-hari, akan sangat sulit untuk memasukkan input nilai v dan t di atas, karena jika pemakai program salah memasukkan urutan, harga yang tersimpan akan salah. Untuk contoh di atas, karena rumusnya hanya perkalian dua buah nilai integer mungkin tidak fatal. Jika rumus misalnya adalah v-t maka pemasukan data dengan urutan yang lain akan fatal akibatnya. Mengenai output : output program di atas sangat sulit diinterpretasi karena yang dihasilkan oleh program hanya sebuah angka yang tidak jelas interpretasinya.
39
Program Versi 3 Catatan :
Dengan menuliskan semacam ini, program akan dapat dioperasikan dengan lebih mudah, namun algoritma menjadi sangat rinci. Lebih rinci lagi, dapat dibuat layar yang indah dengan warna-warni dan posisi penulisan yang enak dibaca. Tujuan dari menuliskan algoritma adalah untuk menuliskan “sketsa” solusi dari program, jadi hanya mengandung hal yang esensial. Sebaiknya instruksi yang sudah sangat rinci dan tidak mengandung hal esensial dikode secara langsung dalam bahasa pemrograman pada saat impelementasi. Jadi, teks algoritma JARAK1 dan JARAK2 yang hanya mengandung hal yang esensial adalah produk dari design program, sedangkan teks rinci semacam JARAK3 langsung pada bahasa pemrogramannya. Untuk selanjutnya, teks algoritma dituliskan dengan hanya mengandung hal yang esensial saja karena pusat perhatian kita adalah untuk menghasilkan sketsa solusi saja.
40
Question?
41
Referensi Liem, Inggriani. Diktat kuliah Algoritma & Pemrograman. ITB. 2003
42
Terima Kasih
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.