Materi 2. pengertian dasar algoritma
-
Upload
melva-amma-kalian -
Category
Documents
-
view
5.221 -
download
5
description
Transcript of Materi 2. pengertian dasar algoritma
PENGERTIAN DASAR ALGORITMA PEMROGRAMAN
Algoritma Pemrograman
Drs. Lamhot Sitorus, M.KomFakultas Ilmu Komputer
Universitas Katolik Santo Thomas
2
Pengertian
• AKSI???• Suatu Aksi adalah kejadian yang terjadi pada suatu
selang waktu terbatas dan menghasilkan efek neto yang telah terdefinisi dengan baik dan memang direncanakan.
• “direncanakan” berarti dititik beratkan pada kegunaannya.
• Jika seseorang tertarik pada suatu aksi, maka jelas bahwa minatnya adalah pada efek netonya.
• Aksi dimulai saat “t0” dan berakhir pada saat “t1”.
3
Pengertian
• Contoh suatu aksi adalah “IBU TATI MENGUPAS KENTANG” untuk mempersiapkan makan malam. Pernyataan ini mencakup hal yang luas ruang lingkupnya, misalnya :– Apakah kentangnya harus dibeli lagi atau sudah ada
di dapur?– Apakah yang dimaksud untuk makan malam berarti
sampai terhidang?– Ketika kentangnya terhidang, jadi sup, digoreng atau
direbus saja?
4
Pengertian
• Harus dibatasi dengan jelas keadaan awal yang menjadi titik tolak mengupas kentang dan keadaan akhir yang ingin dicapai supaya dapat “merencanakan” efek neto yang diinginkan. Misalnya :– Keadaan awal, t0, adalah kentang sudah ada dikantong
kentang, yang ditaruh di rak di dapur dimana Ibu Tati akan mengupasnya
– Keadaan akhir, t1, kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kentangnya harus dikembalikan ke rak lagi.
– Persediaan kentang Ibu Tati selalu cukup untuk makan malam.
5
Pengertian
• Urutan-urutan subaksi yang dilakukan ibu Tati, yaitu :– Ambil kantong kentang dari rak– Ambil panci dari almari– Kupas kentang – Kembalikan kantong kentang ke rak
6
Pengertian
• Urutan-urutan langkah harus dapat dimengerti dengan baik
• Tidak boleh ada sedikitpun salah pengertian diantara keduanya supaya dapat dihasilkan efek yang diinginkan.
• Jika pada suatu resep kue terdapat tulisan “Panaskan dulu oven”. Instruksi ini tidak jelas, karena berapa lama dan temperatur oven mencapai berapa derajat hal tersebut harus dilakukan, tidak ditentukan dengan pasti
7
Pengertian
• Ketika ibu Tati akan mengupas kentang, ibu Tati memperhatikan pakaian yang dipakai saat itu, maka aksi yang akan dilakukan dapat kita tuliskan :– Ambil kantong kentang dari rak– Ambil panci dari almari– Lakukan persiapan, tergantung pakaian– Kupas kentang – Kembalikan kantong kentang ke rak
8
Pengertian
• Kondisional (Depend On) pernyataan dimana suatu aksi akan dilakukan jika tergantung sesuatu kondisi tertentu
• “Lakukan persiapan, tergantung pakaian” Kondisional• Kondisional dinayatakan dengan Kondisi dan aksi
– Ambil kantong kentang dari rak– Ambil panci dari almari– Depend On Baju
• Berwarna muda : Pakai Celemek• Tidak berwarna muda : -
– Kupas kentang – Kembalikan kantong kentang ke rak
9
Pengertian
• Didalam aksi kondisional mengandung dua aksi Pengamatan dan Kejadian
• Pengamatan suatu state benar (true) atau salah (false).
• Kejadian sesuatu yang dilakukan sesuai dengan hasil pengamatan. (true atau false)
10
Pengertian
• Notasi Perulangan. • Ibu Tati ingin mengupas kentang sebanyak 25 kentang• Di dalam algoritma hal ini dapat dituliskan dengan notasi
Perulangan (While ... Do). – Ambil kantong kentang dari rak– Ambil panci dari almari– Depend On Baju– Berwarna muda : Pakai Celemek– Tidak berwarna muda : -– While jumlah kentang terkupas belum cukup Do– Kupas kentang berikutnya– Kembalikan kantong kentang ke rak
11
Struktur Dasar Algoritma
• Algoritma berisi langkah-langkah penyelesaian suatu masalah. Suatu algoritma dapat dibangun dari tiga buah struktur dasar, yaitu :– Runtunan (Sequence)– Pemilihan (Selection)– Pengulangan (repetition)
12
Runtunan (Sequence)
• Sebuah runtunan terdiri dari satu atau lebih instruksi. • Tiap instruksi dikerjakan secara berurutan sesuai
dengan urutan penulisannya• Urutan instruksi menentukan keadaan akhir
algoritma.
13
Pemilihan (Selection)
• Sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi.
if kondisi Then aksi
if Baju berwarna cerah Then Pakai Celemek
14
Perulangan
• Kelebihan komputer kemampuannya untuk mengerjakan pekerjaan yang sama secara berulang-ulang tanpa mengenal lelah.
• Perulangan dalam Algoritma dituliskan dengan menggunakan perulangan for – to (Repeat – N – Times), while – do, atau do – while (repeat – until).
15
Aturan Penulisan Algoritma
• Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
• Deskripsi dapat ditulis dalam notasi apapun. • Tidak ada notasi baku dalam penulisan algoritma sebagaimana
dalam bahasa pemrograman, asal dapat dimengerti dan dipahami.
• Teks algoritma tidak sama dengan teks program atau cenderung ke salah satu bahasa pemrograman.
• Namun agar mudah ditranslasi ke teks notasi bahasa pemrograman sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
16
Aturan Penulisan Algoritma
• Contoh :Tulis Nilai_X dan Nilai_Y atau
output(Nilai_X, Nilai_Y)• Ditulis menjadi :
Write(Nilai_X, Nilai_Y); Pascal
cout<<Nilai_X<<Nilai_Y; C++printf(“%d %d”,Nilai_X, Nilai_Y); C
17
Aturan Penulisan Algoritma
• Pada dasarnya teks algoritma selalu disusun atas tiga bagian / blok, yaitu :– Kepala Algoritma– Deklarasi– Deskripsi Algoritma
18
Aturan Penulisan Algoritma
Kepala Algoritma{Spesifikasi algoritma yang menyatakan apa yang akan dikerjakan oleh
algoritma}
Kamus{mendeklarasikan semua nama yang digunakan dalam algoritma}
Algoritma {Berisi deksripsi langkah-langkah penyelesaian masalah}
19
Kepala Algoritma
• bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut.
• Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma.
• Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma yang sering disebut dengan spesifikasi algoritma
20
Kepala Algoritma
Algoritma Luas_Lingkaran{Menghitung Luas Lingkaran untuk jari-jari tertentu. Algoritma membaca jari-jari, menghitung luas dan mencetak hasil ke layar}
Algoritma Konversi_Jam{Mengkonversi nilai satuan detik ke satuan Menit dan Detik. Satuan Detik dibaca dari keyboard, menghitung satuan Menit, satuan Jam dan menampilkan dalam format hh:mm:ss di layar}
21
Deklarasi
• Bagian untuk mendefinisikan / memperkenalkan semua nama yang dipakai di dalam algoritma.
• Nama tersebut dapat berupa nama konstanta, nama variabel, nama tipe, nama function.
22
Deklarasi
KAMUS{nama konstanta}
Const phi = 3.14;{nama tipe}
Type Titik : recordX : integer;Y : integer;
End;{nama variabel}
C : char;Q : Titik;Ketemu : Boolean;
23
Deskripsi Algoritma
• Merupakan bagian inti dari suatu algoritma. • Berisi uraian langkah-langkah penyelesaian
masalah. • Setiap langkah notasi algoritmik dibaca dari
atas ke bawah secara berurutan • Urutan penulisan menentukan urutan
pelaksanaan perintah.
24
Deskripsi Algoritma
ALGORITMABaca(c, d)If c < d Then E a + bElse E a – b End-ifCetak(e)
25
Menuliskan Algoritma ke Teks Program C
• Teks algoritma adalah hasil pemikiran konseptual.
• Agar dapat dilaksanakan oleh komputer, algoritma harus ditranslasi ke notasi bahasa pemrograman.
26
Teks AlgoritmaAlgoritma Menghitung_Nilai_Rata_Rata
{Menghitung nilai rata-rata sekumpulan bilangan bulat yang dibaca dari keyboard}
KAMUSX : Integer {variabel bilangan bulat}N : Integer {banyaknya bilangan bulat, N>0}K : Integer {Cacah pengulangan}Jumlah : Integer {jumlah seluruh bilangan bulat}Rata : Real {rata-rata bilangan bulat}
ALGORITMABaca(N) {membaca banyaknya bilangan}K 1 {mulai dari data pertama} Jumlah 0While K N Do
Baca(X)Jumlah Jumlah + XK K + 1 {cacah pengukangan selanjutnya}
End-while{K > N}Rata Jumlah / NCetak (Rata)
27
Teks Program C/* Algoritma Menghitung_Nilai_Rata_Rata*//* Menghitung nilai rata-rata sekumpulan bilangan bulat yang dibaca dari keyboard*/#include<stdio.h>main(){
/*deklarasi*/int X, N, K, Jumlah;float Rata;cout<<”Masukkan Banyaknya Bilangan :”; cin>>N;K = 1; {mulai dari data pertama} Jumlah = 0;While (K <= N){
cout<<”X = “; cin>> X;Jumlah = Jumlah + X;K = K + 1; {cacah pengulangan selanjutnya}
} /*K > N*/Rata = Jumlah / N;Cout<<Rata }
28
Sampai ketemu di materi berikutnya...
Flowchart