Anda di halaman 1dari 14

BAHAN AJAR INFORMATIKA

MATERI
ALGORITMA DAN PEMROGRAMAN

A. NOTASI ALGORITMA

1. Definisi Algoritma 
Algoritma merupakan kerangka dasar berupa langkah-langkah logis untuk menyelesaikan permasalahan
yang akan dilaksanakan dengan menggunakan komputer, sebelum permasalahan tersebut ditulis ke
dalam bahasa pemrograman komputer. Algoritma merupakan landasan penting yang harus di kuasai
oleh siapa pun yang ingin belajar membuat program. Orang membuat program pada umumnya untuk
menyelesaikan masalah. Namun, sebelum menyelesaikan masalah dengan program, terdapat tiga
langkah penting yang perlu dilakukan terlebih dahulu.

1. Menganalisis masalah dan mebuat algoritma

2. Menuangkan algoritma ke dalam bentuk program 

3. Mengeksekusi dan menguji program 

Dari tiga langkah penting diatas kita tahu bawasanya dalam menganalisis masalah dan membuat
algoritma diperlukan prosedur untuk mengelola masukan tersebut menjadi keluaran yang dikehendaki.
Sebagai contoh ketika ada permasalahan diminta untuk menghitung luas dengan menggunakan
komputer, dalam logika sederhana kita dapat dengan mudah menuliskan rumus Luas = panjang x lebar,
maka akan langsung mengetahui hasilnya. Namun, jika ingin menuangkan dalam bentuk algortima maka
perlu tahu terlebih dahulu dalam permasalahan ini keluaran berupa luas dan masukan berupa panjang
dan lebar sehingga dapat dituliskan langkah-langkahnya seperti berikut 

1. Peroleh nilai panjang dan lebar persegi panjang

2. Hitung luas persegi panjang dengan menggunakan rumus Luas = panjang * lebar

3. Tampilkan nilai Luas persegi panjang

Dari contoh diatas dapat dilihat bahwa penyelesaian masalah luas persegi panjang sangat sederhana.
Disini digunakan urutan langkah yang masuk akal atau logis sehingga memperoleh hasil luas persegi
panjang. Inilah yang dinamakan algortima, urutan penyelesaian masalah dengan langkah logis
menghasilkan suatu langkah yang benar.

Algoritma tidak selamanya dinyatakan dalam bahasa manusia seperti diatas, algoritma memiliki
berbagai notasi yang bertujuan untuk menyederhanakan bentuk kalimat manusia.
Tujuan belajar logika dan algortima adalah agar dapat membiasakan diri untuk merencanakan suatu
pemecahan masalah terlebih dahulu dalam penyelesaian suatu masalah.

2. Notasi Algoritma 
Notasi algortima merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat
program, karena dalam notasi algoritma terdapat kerangka-kerangka suatu program. Terdapat tiga cara
(notasi) yang digunakan dalam menuliskan algoritma yaitu :

1. Kalimat deskriptif

Notasi penulisan algoritma menggunakan bahasa deskriptif dilakukan dengan menulisakan instruksi-
instruksi yang harus dilaksanakan dalam bentuk kalimat deskriptif dengan menggunakan bahasa yang
gamblang. Tidak ada aturan baku dalam penulisan notasi deskriptif sehingga setiap orang dapat
menulisakan aturan algoritma sendiri.

Contoh penulisan notasi deskriptif untuk menghitung keliling persegi panjang :

Deskripsi :

1. Masukan panjang

2. Masukan lebar

3. Hitung keliling = 2 * panjang + 2 * lebar

4. Tampilkan keliling ke layar 

2. Flowchart 

Notasi Flowchart merupakan gambar atau bagan yang menampilkan proses langkah-langkah dari suatu
pemecahan masalah dalam program. Gambar ini dinyatakan dalam simbol. Maka dari itu setiap simbol
menyatakan proses tertentu.

Keuntungan menggunakana flowchart adalah dengan menggunakan flowchart akan mempermudah


melakukan pengecekan bagian-bagian yang telupakan dalam analisis masalah. Selain itu, flowchart juga
berguna sebagai fasilitas untuk berkomunikasi antar pemrogram yang bekerja dalam satu tim dalam
suatu proyek.

Simbol-simbol flowchart yang biasa dipakai adalah adalah simbol-simbol flowchart standart yang di
keluarkan oleh ANSI dan ISO. 
Tabel simbol-simbol Flowchart 
3. Pseudocode 
Pseudocode adalah notasi algortima yang penulisannya menyerupai bahasa pemrograman tingkat tinggi.
Meskipun menyerupai bahasa pemrograman, pseudocode berisi deskripsi dari algortima pemrograman
yang berisi struktur sederhana dari bahasa pemrograman dengan tujuan bahasa tersebut bisa dipahami
dan dibaca manusia. Sehingga jika ingin komputer mampu memahami notasi pseudocode perlu di
terjemahkan terlebih dahulu ke sintaksis bahasa pemrograman tertentu 

Keuntungan menggunakan pseudocode adalah kemudahan mentranslasi ke bahasa pemrograman


karena ada hubungan anatara bentuk dan isi pseudocode dengan bahasa pemrograman.

Contoh penulisan notasi Pseudocode untuk menghitung keliling persegi panjang :


Algoritma : Keliling_Persegi_Panjang

/* dimasukkan nilai panjang (p) dan lebar (l). Carilah dan cetak keliling persegi panjang */

Deklarasi :
p, l, K = real

Deskripsi :
1. Start
2. Read ( p )
3. Read ( l )
4. K 2 * p + 2 * l
5. cout << “K”;
6. End

B. Studi Kasus Beserta Pemecahan Masalahnya Menggunakan Algortima 


Kasus ke 1 : Terdapat suatu segitiga siku-siku yang alas dan tingginya diketahui, dengan menggunakan
algortima hitunglah sisi miringnya !

Penyelesaiannya sebagai berikut :


 Notasi Deskripsi :
1. Masukkan (alas, tinggi)
2. Hitung sisi miring dengan rumus sisi miring = 
3. Tampilkan hasil sisi miring 

 Notasi Flowchart : 
 Notasi Pseudocode : 
Algoritma : Sisi_Miring_Segitiga

/* dimasukkan nilai alas dan tinggi. Carilah dan cetak sisi miring */

Deklarasi :
alas, tinggi = real

Deskripsi :
1. Start
2. Read (alas)
3. Read (tinggi)
4. sisi_miring ← sqrt ((alas*alas) + (tinggi * tiggi))
5. cout << “sisi_miring”;
6. End
Kasus ke 2 : Konversikan suhu dari Celcius menjadi Reamur dan Fahrenheit ! suhu dalam satuan Celcius
dimasukkan oleh pengguna. Suhu dalam satuan Reamur dan Fahrenheit ditampilkan ke layar

Penyelesaiannya sebagai berikut : 


 Notasi Deskripsi  :
1. Masukkan suhu celcius (C)
2. Hitung konversi suhu Reamur = 4/5 * C
3. Hitung konversi suhu Reamur = 9/5 * C + 32
4. Tampilkan suhu Reamur 
5. Tampilkan suhu Fahrenheit’

 Notasi Flowchart 

 Notasi Pseudocode
Algoritma : Konversi_Suhu_dari_Celcius_ke_Reamur_dan_Fahrenheit

/* dimasukkan nilai Celcius. Carilah dan cetak nilai Reamur dan Fahrenheit */

Deklarasi :
C, R, F = real

Deskripsi :
1. Start
2. Read (C)
3. R ← 4/5 * C
4. F ← 9/5 * C + 32
5. cout << “R,F”;
6. End

Kasus ke 3 : Suatu swalayan memberikan diskon sebesar 10% bagi siapa saja yang berbelanja
sebesar 100.000 atau lebih. Buatlah algortima untuk menghitung besar pembayaran !

Penyelesaian sebagai berikut :

Notasi deskriptif  :

1. Masukkan jumlah pembelian 

2. Jika pembelian melebihi atau sama dengan 100.000 maka mendapat diskon, diskon = 0,1 *          
pembelian

3. Jika pembelian kurang dari 100.000 maka tidak mendapat diskon, diskon = 0

4. Hitung besarnya uang yang harus di bayar dengan rumus, pembayaran = pembelian – diskon 

5. Tampilkan besar nilai yang harus di bayar 

Notasi Flowchart :
Notasi Pseudocode  :
Algoritma : Menghitung_Besar_Pembayaran

/* dimasukkan nilai pembelian. Carilah dan cetak nilai pembayaran */

Deklarasi :
pembelian = int diskon = real

Deskripsi :
1.  Start
2.  Read (pembelian)
3.  If pembelian >= 100000 Then
4.  Diskon ← 0,1 * pembelian
5.  Else
6.  Diskon ← 0
7.  End If
8.  pembayaran ← pembelian – diskon
9.  cout << “pembayaran”;
10.Endl

Kasus ke 4 : Buatlah algoritma untuk mencari suku ke-n dari suatu deret aritmatika ! suku
pertama, beda, dan banyak suku yang ingin di cari di masukkan oleh pengguna 

Penyelesaiannya sebagai berikut :

Notasi Deskripsi :

1. Masukkan nilai suku pertama (a), beda (b), banyak suku (n)

2. Hitung suku ke-n dengan rumus Un = a + (n - 1)b

3. Tampilakan hasil suku ke-n (Un)

Notasi Flowchart 
Notasi Pseudocode :

Algoritma : Mencari_Suku_Ke-n

/* dimasukkan suku pertama (a), beda (b), banyak suku (n). Carilah dan cetak nilai suku ke-n
(Un) */

Deklarasi :
a, b, n, Un = Int

Deskripsi :
1. Start
2. Read (a, b, n)
3. Un ← a + (n-1) * b
4. Write (‘Un’) ;
5. End

Kasus ke 5 : Buatlah algoritma untuk menentukan kelulusan mahasiswa ! diberikan nama dan
nilai mahasiswa, jika mahasiswa memperoleh nilai lebih besar atau sama dengan 60 maka
mahasiswa tersebut dinyatakan lulus, jika sebaliknya lebih kecil dari 60 maka dinyatakan tidak
lulus

Penyelesaiannya sebagai berikut :

Notasi Deskripsi :

1. Baca nama dan nilai mahasiswa 

2. Jika nilai >= 60 maka keterangan = lulus

3. Tetapi jika < 60 maka keterangan tidak lulus

4. Tampilkan nama dan keterangan 

Notasi Flowchart :
Notasi Pseudocode :

Algoritma : Menentukan_Kelulusan_Mahasiswa

/* Dimasukkan Nama, Nilai. Carilah dan cetak Nama dan Keterangan */

Deklarasi :
Nama = string
Nilai = integer
Keterangan = string
Deskripsi :
1. Start 2. Read (Nama, Nilai)
3. If Nilai >= 60 Then
4. Keterangan ← ‘Lulus’
5. Else
6. Keterangan ←‘Tidak lulus’
7. Write (‘nama, keterangan’)
8. End;

Anda mungkin juga menyukai