Anda di halaman 1dari 8

MATERI DARING

MAPEL : LOTEKDIG / SIMKODIG


KELS / SEMESTER : X (SEPULUH) / Ganjil
MATERI : Tahap Penyelesaian Masalah Algoritma

Uraian Materi (untuk dicatat dan dipelajari)

TAHAP PENYELESAIAN MASALAH

Kriteria Pemilihan Algoritma.


1) Ada Output,
2) Efektifitas dan Efesiensi,
3) Jumlah Langkahnya Berhingga,
4) Berakhir, ( SEMI ALGORITMA )
5) Terstruktur,
Suatu Algoritma yg terbaik (The Best) : “ Suatu algoritma harus menghasilkan output
yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien)
dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan dip’oleh suatu solusi ataupun tdk
ada solusinya. “
Contoh :
1. Sebuah prosedur ketika akan mengirimkan surat kepada teman:
1) Tulis surat pada secarik kertas surat
2) Ambil sampul surat atau amplop
3) Masukkan surat ke dalam amplop
4) Tutup amplop surat dengan lem perekat
5) Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg
dituju, lalu tulis alamat tsb pd amplop surat.
6) Tempelkan perangko pada am plop surat
7) Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk
memasukkan surat ke dlm kotak/bis surat.
2. Sebuah prosedur untuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif
yg di Input :
Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A
1. Dinyatakan Nilai B adalah 0
2. Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B
3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop.
4. Jika tidak, maka Nilai B akan bertambah 1
5. Kembali ke langkah pada No. 3
TAHAPAN ANALISA ALGORITMA
1. Bagaimana merencanakan suatu algoritma.
2. Bagaimana menyatakan suatu algoritma
a. Dengan bahasa semu (pseudocode).
Contoh :
Untuk menghitung Luas Segi tiga :
1. Masukan Nilai Alas
2. Masukan Nilai Tinggi
3. Hitung Luas =( Alas * Tinggi ) / 2
4. Cetak Luas
b. Dengan diagram alur atau flowchart,
Contoh :

c. Dengan Statement program / penggalan Program


Contoh (menggunakan C++):
cin >> Alas ; //untuk input data
cin >> Tinggi;
Luas = (Alas * Tinggi)/2 ; // proses
cout << Luas; //untuk output data
3. Bagaimana validitas suatu algoritma.
4. Bagaimana Menganalisa suatu Algoritma.
5. Bagaimana Menguji Program dari suatu Algoritma.
Tahap Proses uji Algoritma :
a. Fase Debugging
yaitu fase dari proses program eksekusi yang akan melakukan koreksi terhadap kesalahan.
b. Fase Profilling
yaitu fase yang akan bekerja jika program tersebut sudah benar (telah melewati fase debugging).
Analisis Suatu Algoritma
(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat dilakukan
terhadap suatu algoritma dengan melihat pada :
a. Waktu Tempuh (Running Time) dr suatu Algortima.
Hal-hal yg dpt m empengaruhi drpd waktu tempuh adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator
b. Jumlah Memori Yang Digunakan.
Sifat – Sifat Algoritma
• Banyaknya Langkah Instruksi Harus Berhingga,
• Langkah atau Instruksi harus Jelas,
• Proses harus Jelas dan mempunyai batasan,
• Input dan Output harus mempunyai Batasan,
• Efektifitas,
• Adanya Batasan Ruang Lingkup,
Contoh Algoritma dan Flowchat
1. Menentukan Apakah Bilangan Tersebut Ganjil atau Genap
Terdapat bilangan yang bernama bilang bulat yaitu 0, 1, -1, 2, dst serta bilangan asli
1, 2, 3, 4, 5, dst. Kedua jenis bilangan tersebut sering digunakan dalam berhitung. Himpunan
bilangan-bilangan bulat dalam buku teks aljabar pada umumnya dinyatakan dengan lambang "Z"
dan himpunan bilangan-bilangan asli dinyatakan dengan lambang "N". Algoritma guna
menentukan apakah bilangan tersebut ganjil atau genap dapat disajikan dengan flowchart seperti
dibawah ini :
Bilangan genap merupakan sebuah bilangan bulat yang akan habis atau tidak memiliki sisa jika
dibagi 2 (dua). Bilangan ganjil merupakan sebuah bilangan bulat yang tidak akan habis apabila
dibagi 2 (dua)
2. Menghitung Keliling dan Luas Lingkaran
Lingkaran merupakan suatu himpunan dari semua titik-titik pada bidang dalam jarak yang
tertentu dan disebut dengan jari-jari dari titik tertentu dan dapat disebut titik pusat. Lingkaran
merupakan contoh dari kurva tertutup sederhana, lingkaran membagi bidang menjadi bagian luar
dan dalam. Algoritma menghitung keliling serta luas lingkaran dapat disajikan dengan flowchart
seperti dibawah ini :

3. Menampilkan Bilangan Ganjil Diantara 10 sampai 30


Bilangan ganjil yang terletak diantara 10 dan 30 11,13,15, dan seterusnya. Namun, yang akan
ditampilkan kecuali bilangan 21 dan 27. Jadi output yang diharapkan dari algoritma tersebut
adalah bilangan ganjil 10 sampai 30 kecuali bilangan 21 dan 27. Algoritma untuk menampilkan
bilangan ganjil antara 10 hingga 30 kecuali bilangan 21 dan 27 disajikan dengan flowchart
dibawah ini :
4. Algoritma tahun Kabisat
Terdapat juga algoritma tahun kabisat. Tahun kabisat merupakan sebuah tahun yang memiliki
tambahan 1 hari dan bertujuan agar kalender dapat sinkron dengan musim tahunan dan keadaan
astronomi. Bulan Februari memiliki 29 hari pada saat tahun kabisat. Tahun yang dapat untuk
dibagi dengan 4 adalah tahun kabisat. Algoritma guna menentukan tahun kabisat jika disajikan
dengan flowchart seperti dibawah ini :

5. Menampilkan Bilangan Genap Mullai dari Angka 2 sampai n, Kecuali Bilangan Genap
yang Kelipatan 4
Bilangan genap merupakan sebuah bilangan-bilangan bulat yang habis jika dibagi 2. Deret yang
ditampilkan dari algoritma kali ini merupakan deret dari bilangan genap dari 2 hingga ke n
kecuali bilangan yang merupakan kelipatan 4. Algoritma tersebut dapat digambarkan dengan
flowchart seperti dibawah ini :

6. Menghitung Harga yang Dibayar Setelah Mendapatkan Sebuah Diskon


Ada juga algoritma yang dapat menghitung jumlah dari biaya yang harus dibayar oleh sang
pembeli setelah mendapatkan sebuah diskon 10% dengan syarat jumlah dari total pembelian
tersebut Rp.1.500.000,- Algoritma guna menghitung besaran biaya tersebut dapat digambarkan
dengan flowchart seperti dibawah ini :
Jumlah barang memiliki sifat yang dinamik sesuai dengan input atau masukkan dari user. Apabila
jumlah total dari harga tersebut kurang 1500000 maka tidak mendapatkan sebuah diskon.
7. Mencari Maks dan Min dari suatu Deret Bilangan
Terdapat juga sebuah algoritma guna mencari nilai maks serta min dari suatu n deret bilangan
yang dimasukkan atau diinput oleh user. Algoritma tersebut dapat disajikan dengan flowchart
seperti dibawah ini :

8. Kalkulator Sederhana dari 2 Bilangan


Terdapat sebuah algoritma sebagai kalkulator sederhana untuk operasi penjumlahan, perkalian,
pembagian, dan pengurangan. Kalkulator sederhana ini hanya dapat melakukan perhitungan dari
2 bilangan yang diinput oleh user. Algoritma guna menghitung 2 bilangan dapat digambarkan
dengan flowchart seperti dibawah ini :
9. Menghitung Beberapa Angka dari Suatu Bilangan
Pada flowchart kali ini mengenai sebuah algoritma untuk menghitung beberapa angka dari suatu
bilangan yang dimasukkan atau diinput oleh user. Berikut flowchart algoritma tersebut :

10. Membalik Sebuah Kalimat


Seperti yang kita ketahui sebelumnya tentang pengertian algoritma, bahwa algoritma
juga dapat untuk menampilkan sebuah kalimat namun dengan urutan yang terbalik. Misalkan
"woocara" dibalik menjadi "aracoow". Struktur data yang digunakan ialah Stack. Untuk
membalik sebuah bilangan, huruf dari kalimat kita input dalam stack dengan menggunakan
metode Push. Setelah stack tersebut sudah terisi, maka output kembali dengan memakai metode
Pop.
Pada algoritma membalik sebuah kalimat, adanya penggunaan struktur data stack
diimplementasikan ke array. Dalam implementasinya ke array tersebut, kita harus terlebih dahulu
menyiapkan sebuah array dengan memiliki panjang yang sama dengan jumlah huruf yang ada
dalam kalimat yang akan dibalik tersebut. Pada gambar flowchart dibawah ini, terdapat tiap huruf
dari kalimat yang diinput pada array dengan index ke-0 hingga ke-n dengan memakai metode
push.

Kemudian huruf tersebut akan mengeluarkan kata mulai dari index ke-n hingga index ke-0.
Itulah pengertian algoritma, bentuk dasar algoritma, klasifikasi algoritma, dan contoh
algoritma. Algoritma sangat diperlukan untuk mengolah data yang ada di komputer.

Anda mungkin juga menyukai