Tuesday, October 4, 2011

Roti Bakar Edi

Bisnis roti bakar memang sudah biasa. Namun, belum tentu bisa bertahan lama. Madtari merupakan salah satu warung roti bakar yang cukup tua. Sejak 1999 hingga kini, Madtari masih memiliki pelanggan setia di Dago. Meski cuma warung roti bakar, Madtari bisa mencetak omzet ratusan juta.
Roti Bakar Edi boleh saja menjadi pilihan anak muda Jakarta menyantap roti di malam hari. Tapi di Bandung, Madtari bisa dibilang menjadi pilihan pertama untuk melahap roti bakar.
Madtari mengklaim sebagai roti bakar satu-satunya di Kota Kembang yang menggunakan selai blueberry. Menu roti spesial dengan campuran selai blueberry, kacang, dan taburan meses coklat membuat rasa roti bakar terasa asam manis.
Tidak hanya itu, rasa gurih dan asinnya didapat dari taburan keju yang menutup seluruh tumpukan roti. Pilihan lain adalah rasa roti keju susu dengan pelbagai macam pilihan rasa, seperti susu, coklat, kacang, dan roti rasa asin. Roti bakar rasa asin, yakni, roti dengan serutan keju pada tumpukan roti yang telah dibakar dengan taburan garam.
Makin larut malam, makin ramai pula pengunjung roti bakar Madtari di Jalan Dr. Oten 11, Dago. Salah satu kelebihan nongkrong di Madtari, selain santapan roti bakarnya, parkir dan tempatnya yang luas. Tidak perlu takut kehabisan tempat. Tak hanya memanfaatkan garasi gedung kuno berarsitektur gaya Belanda, setiap ruangan atau kamar telah disulap dengan kursi-kursi panjang berikut dengan meja. Tapi, dekorasi Madtari memang terbilang minim, tidak ada yang istimewa di warung roti bakar yang telah berdiri sejak tahun 1999 ini.
Menurut Manajer Madtari David Maidy, konsep layaknya warung kopi tetap dipertahankan. "Konsep seperti inilah yang membuat para pengunjung betah," kata David. Ia menambahkan, Madtari yang telah tiga kali berpindah tempat sudah terkenal sebagai roti bakar rakyat di Bandung.
Maksud roti yang merakyat: harga murah dan tempat yang apa adanya di pinggir jalan. Tengok saja, harga aneka roti mulai dari Rp 5.000 hingga Rp 13.000 untuk menu spesialnya. Bosan dengan santapan roti, pisang bakar bisa jadi pilihan.

Pisang dibakar kemudian dilumuri selai sesuai selera dan tentu saja sebagai ciri khas dari Madtari, yaitu taburan kejunya. Harga pisang mulai dari Rp 6.000 hingga Rp 10.000 per porsi. Jika malam telah tiba dan udara kian dingin, santapan yang lebih hangat kerap menjadi pilihan.
Misalnya saja, mi instan dengan telur plus minuman yang dapat menghangatkan tenggorokan. Wedang jahe kencod boleh jadi pilihan karena sudah pasti, selain dapat menghangatkan tubuh, juga mampu mengusir pusing. Harganya sudah pasti aman di kantong, mulai Rp 5.000 sampai Rp 11.000.
Menyasar konsumen kalangan pelajar dan mahasiswa sebagai pelanggan, Madtari sukses meraup untung yang cukup wah. Setiap hari, Madtari menghabiskan 500 kg pisang dan 200 tangkup roti.
Di bulan biasa, omzet Madtari mencapai Rp 150 juta per bulan. Ketika musim libur, Madtari mampu mencapai omzet Rp 200 juta. Pendapatan yang besar ini didukung dengan pelayanan prima selama 24 jam.
"Meski makin banyak roti bakar di Bandung tapi Madtari tetap menjadi pilihan karena kami melayani dengan sungguh-sungguh." tutur David yang setahun belakangan ini mengaku, bisnis roti bakar kepunyaan pamannya ini kian pesat setelah berpindah tempat.
Dua cabang Madtari lainnya berlokasi di Dago, tepatnya Jalan Teuku Umar dan Jalan Suci. David bilang, tahun ini, Madtari hendak ekspansi ke Tasikmalaya.
Begitu juga dengan kehadiran roti bakar Bandung di kawasan seputar kampus USU atau Jalan Dr Mansyur Medan saat ini semakin diminati. Konsumennya kebanyakan pelajar, mahasiswa maupun masyarakat umum. Ini karena kelezatan rasanya serta harganya yang murah.
Sejumlah pedagang roti bakar di lokasi itu mengaku, letak khas roti bakar Bandung pada rasanya, berbeda dengan roti bakar bisa yang isinya hanya mentega atau margarin ditambah coklat saja. Sedangkan roti bakar Bandung memiliki berbagai rasa mulai coklat, strawbery, blueberry, keju dan rasa lainnya yang dicampur dalam satu roti.
Fendi (35), pedagang roti bakar di Jalan Dr Mansyur Medan sengaja memilih lokasi dagangannya di situ karena pasarnya bagus. “Pelajar dan mahasiswa paling suka makan roti bakar dibanding nasi dengan lauk pauk. Selain harganya murah, bisa mengenyangkan perut,” kata Fendi.
Pedagang roti lainnya di Jalan Jamin Ginting Medan, Andi mengaku, untuk membuka usaha roti bakar harus berada di lokasi dekat kampus agar laris terjual. “Untuk awal usaha ini biasanya pemula mengeluarkan modal sekitar Rp1 juta. Omzet per hari bisa dapat Rp300 ribu hingga Rp500 ribu. Omzet meningkat pada akhir pekan,” ujarnya.
Namun, sambungnya, untuk prospek bisnis roti bakar Bandung dan roti lainnya harus mengandalkan lokasi strategis. “Sebab konsumen pelajar dan mahasiswa paling menyukai makanan roti bakar Bandung maupun burger. Mereka biasa menyantap roti bakar Bandung sambil santai bersama teman-temannya,” pungkas Andi. (fn/km/hsp) www.suaramedia.com

Profil Pengusaha Ayam Bakar Mas Mono


ayam bakar mas mono
Tadi pagi sebelum berangkat ke kantor, seperti biasa sambil bermain dengan anak saya saya menonton pengajian Ustad Yusuf Mansyur. Biasanya di pengajian ustad yusuf disajikan contoh nyata dari orang yang berhasil baik dari kesulitan hidup maupun dari penyakit dengan kekuatan sedekah dan tentunya izin dari Allah. Pagi itu salah satu tokoh yang tampil adalah Mas Mono, pengusaha dan pemilik ayam bakar mas mono. Mas Mono termasuk orang yang sedekahnya luar biasa besar secara nominal ke yayasan ustad yusuf mansyur.
Tertarik dengan profil Mas Mono yang menjadi pengusaha sukses, saya mencoba googling di internet profil dan sejarah dari ayam bakar mas mono. Berikut saya copy pastekan.
Bekalnya ijazah SMA. Mengawali perjuangannya dengan menjadi office boy dan jualan roti pisang keliling. Namun hanya berselang delapan tahun Agus Pramono mampu menjadi juragan ayam bakar yang omsetnya ratusan juta perbulan.
Urip kaya cakra manggilingan, itu ungkpan para dihalang ketika mengupas filosofi hidup manusia. Artinya hidup ini ibrat roda yang berputar terkadang diatas terkadang dibawah. Filosofi hidup itulah yang dimaknai secara mendalam oleh Agus Pramono, Bos Ayam bakar Kalasan ( Mas Mono ) yang kini mempunyai tujuh outlet dan tersebar di berbagai wilayah di jakarta dan melayani jasa catering untuk Anteve, Trans TV dan TV7.
Sempat di tempa kerasnya hidup di ibukota selama lebih dari satu dasawarsa, akhirnya Mas Mono, dimekian akrab disapa oleh para pelanggannya, bisa menjadi juragan ayam bakar. Dalam sehari tak kurang dari 600 ekor ayam ia sajikan untuk para pelanggannya, yang terentang dari golongan bawah sampai atas.
Mono hijrah dari madiun ke jakarta pada tahun 1994, setamat dari sekolah menengah atas di kota brem tersebut. Di jakarta Ia bekerja sebagai karyawan restorant cepat saji California Fried Chicken sebagai coocker.
Tiga tahun kemudian atau 1997 ia keluar dari CFC, untuk memegang operasional rumah makan yang melayani jasa catering even-even khusus. kebetulan pada tahun itu, properti mengalami booming sehingga banyak sekali peluncuran perumahan-perumahan yang membutuhkan jasa catering. NAmun perjalanan hidup, tak ubahnya air yang pasang surut. akhir tahun 1997 atau awal 1998, krisis ekonomi mendera kawasan ASIA, termasuk Indonesia.Penyelenggaraan event-event yang semula booming, mulai lesu. Order yang mula antre, berubah total, nyaris tak ada satupun order yang masuk.
Mono masuk barisan dari jutaan penduduk Indonesia yang tidak memiliki pekerjaan tetap. Untuk menyambung hidupnya, Mono menulis puisi dan membuat vinyet untuk dikirimkan kesejumlah Media masa. ” Supaya bisa dimuat, puisi maupun vinyet itu saya antar sendiri ke redaksi,” kata mono mengenang masa-masa susah dalam hidupnya.
Mono berusaha untuk melamar ke sejumlah perusahaan. Namun tidak ada satupun lamarannya yang membuahkan hasil. baru pada tahun 1998, dengan rekomendasi dari seorang temannya, mono diterima sebagai office boy di sebuah perusahaan konsultan. pekerjaan mono sehari-hari adalah menyapu, mengepel dan memfotocopi dokumen, namun, disela-sela mengerjakan tugas pokoknya tersebut, mono belajar untuk mengoperasikan komputer. setelah berhasil mengoperasikan komputer ia mencari hasil tambahan dengan melayani jasa pengetikan skripsi.
Meski sudah berusaha keras untuk mendapatkan hasil tambahan, tetapi tuntutan ekonomi berkembang jauh lebih pesat, sehingga mono merasa posisinya sebagi karyawan tidak bisa dipertahankan lagi. Ia berfikir untuk keluar dan memulai usaha sendiri.
Modal cekak membuatnya berfikir keras, usaha apa yang cepat mendatangkan uang sehingga bisa menambal kebutuhan sehari-hari. Terlintas dibenaknya untuk membuat warung makan seperti yang berada di dekat kantornya. Namun dengan uang Rp. 500rb di tangan jelas tidak cukup dijadikan modal untuk mendirikan warung makan.
Dengan dana yang ada usaha jualan pisang cokelat merupakan pilihan yang masuk akal. Ia membelanjakan sebagian dari uangnya untuk uang muka membeli gerobak dan sisanya untuk membeli bahan baku. mulailah mono mendorong gerobaknya dan menjajahkan pisang cokelatdari satu sekolah dasar ke sekolah dasar lainnya. “Setiap SD jam istirahatnya berbeda. Saya selalu berpindah-pindah menyesuaikan jam istirahat beberapa SD,” ujar Mono.
Di tengah kesulitan hidup, mono mengambil keputusan berani untuk menyunting pujaan hatinya, Nunung, yang kini telah memberinya buah hati Novita Anung Pramono. Pasangan muda ini hidup di satu kamar kontraakan dan tidur hanya beralaskan tikar tanpa kasur. agar sedikit empuk maka mono menganjal tikarnya dengan kardus-kardus bekas.
Profesi sebagai penjual pisang coklat masih ia geluti. kalau dagangannya masih sisa, maka pa sorenya ia ngetem di depan universitas Sahi. Untuk meringankan beban suaminya Nunung mengambil pekerjaan dari subkontraktor kardus sepatu. ” Saya kasihan sekali melihat istri kecapeaan setelah melipat-lipat kardus sepatu,” ungkap Mono.
Pada suatu hari di tahun 2000, Mono melihat ada lapak di depan Usahid yang tidak terpakai. Mimpinya untuk memiliki warung ayam bakar kaki lima kembali menyeruak. didukung istrinya yang jago memasak mono mulai beralih profesi menjadi penjual ayam bakar. Pertama kali jualan mono membawa 5 ekor ayam yang ia jadikan 20 potong. pada waktu itu yang laku hanya 12 potong, tetapi saya sudah sangat bersyukur. memiliki lapak saja saya merasa bermimpi, imbuhnya.
Kombinasi antara menu yang enak dan ketekunan, sedikit demi sedikit ayam bakar mas mono membuahkan hasil. hari demi hari, minggu berganti minggu, tahun beranjak tahun ayam bakarnya semakin laris. warungnya yang semula hanya menghabiskan lima ekor ayam sudah mampu menjual 80 ekor ayam per harinya. karyawan yang semula hanya satu orang bertambah menjadi beberapa orang.
“Meskipun warung saya hanya kaki lima, namun saya menerapkan standar operasional rumah makan besar. Karyawan memakai seragam, tidak memelihara kuku panjang, tidak berkumis dan tidak berjenggot,” terang mono.
Lantaran adanya standar tersebut, Warung mono menjadi terlihat berbeda dibanding warung kaki lima lain sehingga warung tersebut mengalami pertumbuhan pesat. Meski kondisi ekonomi semakin membaik, sang istri tidak tinggal diam. Sang istri berjualan nasi uduk di dekat sebuah kantor di jalan MT Haryono. warung nasi uduk yang buka antara pukul 06.00 – 10.00 pada saat itu sudah meraup omset 800 ribu perhari.
Agaknya jalan terang terus terhampar. setelah satu pelanggannya, presenter dunia lain Trans TV, menyarankan agar mono menawarkan jasa catering ke stasiun televisi tersebut. ternyata tanpa melalui peroses berliku-liku mono mendapat proyek itu, tak lama kemudian Anteve dan TV 7, memesan catering dari peria yang hobi memodifikasi sepeda motor ini.
Pada sisi lain, mono juga melakukan ekspansi warungya. Dari salah satu pelanggannya ia mendapatkan penawaran tempat di jalan Tebet raya No.57, meski hanya kecil. Di tempat ini mono hanya bisa menempatkan 2 bangku kecil, tetapi di luar dugaan pelayannya membludak sehingga mereka rela makan sambil berdiri. setelah sukses di tempat ini mono mengusung nama ayam bakar kalasan mas mono untuk jualannya. sebelumnya, ia tidak memakai merek untuk warungnya.
Untuk menampung pelanggannya mono kembali membka warung di jalan Tebet Timur Dalam. lagi-lagi warung ini juga dipenuhi oleh pelanggan. Bukan hanya pelanggan lama, tetapi juga pelanggan baru, tetapi juga pelanggan baru sehingga warung ini yang semula diniatkan menampung pelanggan lama, malah bisa memperluas pasar lagi. Kini keseluruhan warung Mas Mono mencapai tujuh. selain yang disebut di atas Mono juga memiliki warung di jalan Panggadegan Selatan Raya, Jalan pulo Nangka Barat II, jalan Inspeksi Saluran E 26 Kalimalang dan kampus ASMI pulo mas.
NAmun Mono sendiri mengaku sampai saat ini belum memiliki rumah dan mobil pribadi. Tiga mobil yang ia miliki adalah mobil operasional. sedang rumahnya masih kontrak. Namun sejatinya, dari omset satu bulan saja mono mampu membeli rumah ataupun mobil pribadi sekaligus.”Duitnya mengembangkan usaha Mas,” katanya seraya mengatakan dalam pengembangan usaha ia tidak pernah berhubungan dengan lembaga keuangan.
Sukses di mata mono tidak harus memiliki rumah mentereng atau mobil keren, melainkan apa yang menjadi kebutuhannya terpenuhi. “Mungkin orang lain memiliki pengertian lain tentang sukses adalah ketika seseorang bisa memenuhi apa yang menjadi kebutuhannya,” ujarnya kalem.
Kunci sukses, kata Mono, adalah penerapan dari kata-kata mutiara yang sering diucapkan oleh banyak orang “Dimana ada kemauan di situ ada jalan. mungkin kata-kata itu sangat sederhana dan mungkin setiap orang sudah tahu tentang itu. tetapi kalau benar-benar di terapkan bisa menuntun hidup seseorang kearah yang lebih baik. saya merasakan sendiri kebenaran kata-kata itu,” Tegas Mas Mono
Sumber: http://ayambakarmasmono.wordpress.com/sejarah-2/

Sunday, November 15, 2009

tugas c++















Wednesday, October 28, 2009

Algoritma percabangan

1.PERCABANGAN
Penggunaan If Else
Di gunakan untuk menguji sebuah kondisi dimana kondisi, bila kondisi yang di uji terpenuhi maka program akan melakukan pernyataan-pernyataan tertentu & bila kondisi yang di uji salah maka program akan menjalankan pernyataan lain.
Bentuk umumnya adalah :
If kondisi …..
Begin…
Pernyataan – pernyataan yang di jadikan bila kondisi benar
End………
Else…..
Pernyataan –pernyataan yang di jalan kan jika kondisi salah
K = Jika kondisi benar maka kerjakan K + 1? K + i, jika tidak maka kerjakan K + i + 1? K + r
K+1
----- Pernyataan-pernyataan dijalankan jika kondisi benar
K+i

K + i + 1
------ Dijalankan jika kondisi salah
K + r
Flowchart :

Contoh :
Begin
Read(x);
If ( x > 0 ) then
Writeln (‘x bilangan positif’);
Else
Writeln (‘x bukan bilangan positif’);
Writeln (x);
End.
Langkah – langkahnya adalah sebagai berikut :
1.Mulai
2.Masukkan x
3.Jika x > 0 maka kerjakan 4, jika tidak maka kerjakan 5
4.Tulis (‘x bilangan positif’)
5.Tulis (‘x bukan bilangan positif’)
6.Tulis (x)
7.Selesai
Bila ada lebih dari 2 pernyataan ( pernyataan if, else, if )
If kondisi 1 then
Begin
Pernyataan 1;
Else if kondisi 2 then
Begin
Pernyataan 2;
End;
-------------------------
-------------------------
Else if kondisi then
Begin
Pernyataan;
End.
Contoh lebih dari 2 pernyataan :
Read (x);
If (x > 0) then
Writeln (‘x bilangan positif’);
Else if (x < 0) then
Writeln (‘x bilangan negatif’);
Else
Writeln (‘x adalah nol’);
Writeln (x);
End.
Algoritmanya adalah :
1.Mulai
2.Masukkan x
3.Jika x > 0 maka tulis (‘x bilangan positif’)
4.Jika x < 0 maka tulis (‘x bilangan negatif’)
5.Jika x = 0 maka tulis (‘x adalah nol’)
6.Tulis x
7.Selesai
Bentuk flowchartnya :

Latihan soal :
Tulis algoritma yang menampilkan bilangan genap jika suatu bilangan adalah bilangan genap dan bilangan ganjil jika suatu bilangan adalah bilangan ganjil.
Jawab :
Algoritmanya :
1.Mulai
2.Masukkan x
3.Jika x mod 2 = 0 maka tulis (‘bilangan genap’)
4.Jika x mod 2 =1 maka tulis (‘bilangan ganjil’)
5.Tulis x
6.Selesai
Bentuk flowchartnya :

Tugas :
Tulis algoritma untuk menghitung akar-akar persamaan kuadrat ax2 + bx + c = 0 x1,2 = -b +
Jawab :
Algoritmanya :
1.Mulai
2.Masukkan A
3.Masukkan B
4.Masukkan C
5.Hitung D ( sqr (b) – ( 4 * A + B )
6.Jika D > 0 maka kerjakan sub program 7
7.Mulai
Hitung X1 = ((-b) + sqrt (D) / phi * A )
Hitung X2 = ((-b) - sqrt (D) / phi * A )
Tulis X1
Tulis X2
Selesai
8.Jika D < 0 tulis “Persamaan tidak memiliki akar nyata”
9.Tulis ‘ax2 + ‘b’x +’c’ = 0’
10.Selesai
Bentuk flowchart

b

s

Program latihan;
Uses crt;
Var
Real : a, b, a, D, X1, X2;
Begin
Writeln (‘masukkan nilai a !’);
Readln (a);
Writeln (‘masukkan nilai b !’);
Readln (b);
Writeln (‘masukkan nilai c !’);
Readln (c);
D := ( sqr (b) – ( 4*a*c );
If D > 0 then
Begin
X1 := ((-b) + sqrt (D) / 2 * A );
X­2 := ((-b) – sqrt (D) / 2 * A );
Writeln (‘X1 = ‘,X1);
Writeln (‘X2 = ‘,X2);
End;
Else
Writeln (‘Persamaan tidak memiliki akar nyata’);
Writeln (‘ax2 + ‘b’x +’c’ = 0’);
End.

2.Pengulangan
Pernyataan For
For pencacah := nilai awal to nilai akhir do
Begin
Pernyataan-pernyataan yang akan diulang
End.
Bentuk umumnya
K – pencacah = nilai awal
K+1 selama pencacah < = nilai akhir kerjakan K+2 – K+i
K+2
------- Pernyataan-pernyataan yang akan diulang
K+ -1
K+i pencacah = pencacah + 1

Bentuk flowchart

Contoh :
Program pascal :
Begin
Read (X);
For I := 1 to 10 do
X = X + 1;
Writeln (X);
End.
Algoritmanya :
1.Mulai
2.Masukkan x
3.I = 1
4.Selama I < = 10 kerjakan 5 – 6
5.X = X + 1
6.I = I + 1
7.Tulis (x)
8.Selesai
Flowchartnya :

Benar

Salah

Pernyataan for bersarang
For pencacah1 = nilai awal1 to nilai akhir1 do
Begin
For pencacah2­ = nilai awal2 to nilai akhir2 do
Begin
Pernyataan-pernyataan yang akan diulang
End;
End.
Bentuk umum
K – pencacah1 = nilai awal1
K + 1 selama pencacah1 = < = nilai akhir1 kerjakan K + 2 – K + I + 1
K + 2 selama pencacah2
K + 3 selama pencacah2 <= nilai akhir2 kerjakan K + 4 – K + I
K + 4
------- Pernyataan2 yang akan diulang
K + I – 1
K + 1 pencacah2 = pencacah2 + 1
K + I + 1 pencacah1 = pencacah1 + 1
Bentuk umum flowchart / diagram alir :

S B

Contoh :
Buat algoritma untuk menampilkan semua bilangan genap yang lebih kecil 1 = 100.
Jawab :
1.Mulai
2.I = 1
3.Selama I <= 100 kerjakan 4
4.Jika 1 mod 2 = 0 maka kerjakan 5
Jika tidak maka kerjakan 6
5.Tulis (I)
6.I = I + 1
7.Selesai
Bentuk flowchartnya :

Pernyataan While
Bentuk program pascal dari pernyataan while :
While condition do
Begin
Pernyataan2 yang akan diulang jika kondisi benar
End.
Bentuk umum :
-------
K = selama kondisi kerjakan K + 1 – K + I
K + 1
------- pernyataan2 yang akan diulang jika kondisi benar
K + I
Bentuk flowchartnya :

Pernyataan Repeat … Until
Bentuk program dalam pascal :
Repeat
Pernyataan-pernyataan yang akan diulang bila pernyataan masih salah
Until
Kondisi
Bentuk umum :
-------
K = ulangi langkah2 K + 1 – K + I sampai kondisi
K + 1
------- Pernyataan2 yang diulang bila kondisi masih salah
K + I
Bentuk flowchartnya :

Pernyataan Break
Digunakan untuk menyatakan sejumlah pengulangan di tengah jalan
Pernyataan Continue
Digunakan untuk memindahkan program dari loop ke – K ke loop K + I
Latihan soal :
Tulis algoritma dari :
Rata2

Jawab :
1.Mulai 12. Rata2 = Y/n
2.Masukkan n 13. Z = 0
3.I = 1 14. I = 1
4.Selama I <= n kerjakan 5 – 6 15. Selama I <= n kerjakan 16 – 21
5.Masukkan X ( I ) 16. Z = 2 + sqr ( X ( I ) – rata2 )
6.I = I + 1 17. I = I + 1
7.Y = 0 18. S = sqr ( z/(n-1) )
8.I = 1 19. Tulis rata2
9.Selama I <= n kerjakan 20. Tulis Y
10.Y = Y + X ( I ) 21. Selesai
11.I = I + 1
3.Pangkat
X2 = sqr ( X )
= sqrt ( X )
Fungsi ex tan Fungsi ln x
ex

Sifat-sifat :
1.e0 = 1 6. ln (xy) = ln x + ln y
2.ex+y = ex . ey 7. ln x/y = ln x . ln y
3.exy = ex/ey 8. ln xn = n . ln x
4.(ex)n = en.x 9. eln x = x
5.ln 1 = 0 10. ln ex = x

ln x

Latihan soal :
F (x) = x3 + 4x2 – 7x + z
3x2 + 8x – 7
x1 = x0
x2 = x1

Algoritmanya :
1.Mulai
2.Masukkan X0
3.f ( X0 = exp ( 3 * ln (x) ) + 4 * exp ( 2 * ln (x) ) – 7 * X + 2
4.f1 x0 = 3 * exp ( 2 * ln (x) ) + 8 * X – 7
5.X1 = X0 – fX0 / f1X­0
6.X0 = X1
7.Jika jarak < 0,01 maka kerjakan 9 jika tidak maka kembali ke 3
8.Tulis ( X1 memenuhi persamaan )
9.Selesai
Program pascalnya
Begin
Read (X0);
Repeat
f ( X0 = exp ( 3 * ln (x) ) + 4 * exp ( 2 * ln (x) ) – 7 * X + 2;
f1 x0 = 3 * exp ( 2 * ln (x) ) + 8 * X – 7;
X1 = X0 – fX0 / f1X­0;
Jarak = abs (X1 – X0);
X0 = X1;
Until (jarak < 0,01)
Writeln ( X1 memenuhi persamaan )

4.Subrutin
Procedure
Digunakan untuk melakukan proses terhadap variabel2
Bentuk umum :
Procedure nama procedure ( parameter 1, parameter 2, … )
Begin
Pernyataan-pernyataan
End.
Contoh :
Diket : c = a
a = b
b = c
Hitunglah dengan menggunakan Procedure.
Jawab :
Procedure tukar (a,b : real);
Var
c : real;
Begin
c := a;
a := b;
b := c;
End.

Function
Digunakan untuk menghitung dari variabel2
Bentuk umum :
Function nama fungsi ( parameter 1, parameter 2, … ) : type kembalian


Begin
Pernyataan-pernyataan
End.
Contoh :
Menghitung pangkat.
Jawab :
Function pangkat (n,x : real) : real
Begin
Pangkat := exp (n*ln (x));
End.
Program utamanya
Var
x,y : real
Begin
Read (y);
Z := pangkat (5,y)
Writeln (Z);
End.

Soal latihan :
1.Tulislah program yang meminta masukan dari pengguna dua matrik yang berukuran n x n kemudian menjumlah 2 matrik tersebut
2.tulislah 3 procedure masing-masing untuk meminta masukan matrik dari pengguna, menjumlahkan matrik, menampilkan matrik ke layar
jawab :
program masukkan 2 buah matrik
begin
read (m,n);
for I := 1 to m do
begin
for j := 1 to n do
begin
read (A[i,j]);
read (B[I,j]);
end;
end.
For i := 1 to m do
Begin
For j := 1 to n do
C [I,j] := A [i,j] + B [i,j];
For i := 1 to m do

Begin
For j := 1 to n do
Writeln (‘C[i,j]);
End;
End.

Procedure masukkan matriks
Bentuk umum :
Procedure masukkan matriks ( a : matrix ; n,m : integer );
Var
i, j : integer;
Begin
For I := 1 to m do
Begin
For j := 1 to n do
Read ( a [i, j] );
End;
End.
Procedure jumlah matriks
Bentuk umum :
Procedure jumlah matriks ( A, B : matrix ; var C : matrix; n, m : integer );
Var
I,J : integer;
Begin
For I := 1 to m do
Begin
For J := 1 to n do
C [I,J] := A [I,J] + B [I,J];
End;
End.

Procedure tulis matriks
Bentuk umum :
Procedure tulis matriks ( A : matrix; n,m : integer );
Var
I, J : integer;
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Writeln ( A [I,J] )
End;
End.
Begin
Read (m,n);
Masukkan matrix (A, n, m);
Masukkan matrix (B, n, m);
Jumlahkan matrix (A, B, C, n, m);
Tulis matrix (C, n, m);
End.

Penyelesaian sistem persamaan linear dengan metode Gauss Eliminasi
Begin
Read (n);
For i := 1 to n do
Begin
For j := 1 to n + 1 do
Read (A[i,j]);
End;
For k := 1 to n – 1 do
Begin
For i := 1 to n do

Begin
C := A [i,k] / A [i,k];
For j := 1 to n + 1 do
A [i,j] = A [i,j] – A [i,j] * C;
End;
End;
For i := n downto 1 do
Begin
Z := 0;
For r := i + 1 to n do
Begin
Z := Z (A[i,r] * x [r];
End;
X [i] := (A[i,n+1) – Z) / A [i ,i];
Writeln (‘x[‘i’] =’[i]);
End;
End.

ELIMINASI GAUSS
Const
Max : 25;
Type
Matrik = record
Row, col : byte;
Element : array [1..max, 1..max] of real;
End;
Vektor = record
Row : byte;
Element : array [1..max] of real;
End;

Var x, b : vektor;
A : matrik;
n : integer;
Error : boolean;

Procedure masukkandata;
Var i,j : byte;
Begin
Write (‘jumlah persamaan’);
Readln (n);
A.row := n;
A.col := n ;
b. row := n;
for i := 1 to n do
begin
writeln (‘persamaan ke ‘,i );
for j := 1 to n do
begin
write (‘A[‘, i, ‘, ‘, j, ‘]= ‘);
readln (A.element [i,j]);
end;
end;

procedure eliminasigauss;
var I,j,k : integer;
temp, S : real;
Begin
Error := false;
For i := 1 to A.row – 1 do
For k := i + 1 to A.row do
Begin
If (A.element[i,i] = 0.0 ) then
Begin
Error := true;
Exit;
End;
Temp := A.element [k,i] / A.element[i,i];
For j := i + 1 to A.row do
A.element [k,j] := A.element [k,j] - * temp A.element [i,j];
b.element [k] := b.element [k] – temp * b.element [i];
A.element [k,j] := 0.0 ;
End;
x.row := A.row;
for i := A.row downto 1 do
begin
S := b.element [i];
For j:= i + 1 to A.row do
S := S –A.element [i,j] * x.element [j];

If (A.element [i,i] = 0.0 ) then
Begin
Error := true;
Exit;
End;
x.element [i] := S / A.element [i,i];
end;
end;

Procedure tulishasil;
Var i : byte;
Begin
If (error) then
Begin
Writeln (‘persamaan simultan linear tidak dapat diselesaikan’);
End;
Else
Begin
Writeln;
Writeln (‘penyelesaian persamaan linear simultan : ‘);
For i := 1 to x.row do
Writeln (x.row [i] : 6 : 2 );
End;
End.

Begin
Masukkandata;
Eliminasigauss;
Tulishasil;
End.

5.Rekursi
Adalah kemampuan suatu loding untuk memanggil dirinya sendiri
Contoh :
Function factorial (n : integer) : integer;
Begin
If (n = 0) or (n = 1) then
Factorial := 1
Else
Factorial := n * factorial (n-1);
End;

Factorial (4)
Factorial = 4 * factorial (3)
Factorial = 3 * factorial (2)
Factorial = 2 * factorial (1)
Factorial = 1

Fungsi FTP (m,j,n : integer) : integer;
Begin
If (m = 0) then
FTP := n
Else if (m < n) then
FTP := FTP (n,m)
Else
FTP := (m mod n,n);
End;
Function fungsi (n : integer) : integer;
Begin
If (n = 0) then
Fungsi := 0;
Else if (n = 1) then
Fungsi := 1;
Else
Fungsi := fungsi (n-1) + fungsi (n-2);
End;

BUJURSANGKAR AJAIB

16
2
3
13
5
11
10
8
9
7
6
12
4
14
15
1

Algoritma penyusunan bujur sangkar 4m x 4m
1.Isi bujur sangkar dengan nilai 1 s/d 42m secara berurutan
2.Bagi bujur sangkar menjadi berukuran 4m/2 x 4m/2
3.Beri nama elemen2 bujur sangkar dengan kode X11, X12, X13, … , X44
4.Lakukan pertukaran berikut
X11 ? X44, X14 ? X41, X22 ? X33, dan X23 ? X32
5.Apabila setiap elemen bujur sangkar masih terdiri dari bujur sangkar lagi, artinya m > 1, kerjakan lagi baris 2

Const
Max = 128;
Valid : set of byte = [4, 8, 16, 32, 64, 128];
Var i, j, n : byte;
A : array [1..max, 1..max0 of word);

Procedure tukarkotak (dimensi, ofsx, ofsy : byte);
Var i, j : byte;
Center2 : byte;
Center4 : byte;
Begin
Center2 := dimensi div 2;
Center4 := dimensi div 4;
For i := 1 to center4 do
For j := 1 to center4 do

Begin
Tukar (A [ofsy + j, ofsx + i], A [dimensi + ofsy – center4 + j, dimensi + ofsx – center4 + i]);
Tukar (A [ofsy + center4 = j, ofsx + center4 + i], A [ofsy + center2 + j, ofsx + center2 + i]);
Tukar(A [ofsy + center2 + j, ofsx + center4 + i], A [ofsy + center4 + j, ofsx + center2 + i]);
Tukar (A [ofsy + j, dimensi + ofsx – center4 + i], A [dimensi + ofsy – center4 + j, ofsx + i]);

If (center2 > 2) then
Begin
Tukarkotak (center2, ofsx, ofsy);
Tukarkotak (center2, ofsx + center2, ofsy);
Tukarkotak (center2, ofsx, ofsy + center2);
Tukarkotak (center2, ofsx + center2, ofsy + center2);
End;
End;

Begin
Write (‘masukkan dimensi bujur sangkar : ‘);
Readln (n);
If (not (n in valid)) then
Begin
Writeln (‘dimensi bujur sangkar tidak valid ‘);
Halt;
End;

Fillchar (a, sizeof (a), 0);
For i := 1 to n do
For j := 1 to n do
A [i, j] := (i – 1) * n + j;

Tukarkotak (n, 0, 0);
For i := 1 to n do
Begin
For j := 1 to n do
Write (A [i, j] : 3, ‘ ‘ );
Writeln ;
End;
End.

Resensi :
one.indoskripsi.com

Definisi Algoritma

1. DEFINISI ALGORITMA
Terdapat beberapa definisi mengenai kata Algoritma :
1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis (Rinaldi Munir :2002).
2. Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan
masalah (KBBI :1988).
3. Algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara
jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan
suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut
pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik
(Team Gunadarma :1988).
2. CIRI ALGORITMA
Menurut Donald E. Knuth, algoritma mempunyai lima ciri penring :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan secara tepat dan tidak berarti dua.
3. Algoritma memiliki nol atau lebih masukan (input).
4. Algoritma mempunyai nol atau lebih keluaran (output).
5. Algoritma harus sangkil (efektif)
3. NOTASI PENULISAN
Di bawah ini dikemukakan beberapa notasi yang digunakan dalam penulisan
algoritma, antara lain :
1) Notasi yang dinyatakan dalam kalimat deskriptif
Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa
yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk
masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu,
pengkonversian notasi algoritma ke notasi bahasa pemrograman
cenderung relatif sukar.
Contoh :
Algoritma Bilangan_Maksimum
Diberikan tiga buah bilangan bulat. Carilah bilangan bulat
maksimum diantara ketiga bilangan tersebut.
Deskripsi :
(1) baca bilangan 1
(2) baca bilangan 2
(3) bandingkan bilangan 1 dan bilangan 2, kita ambil yang
lebih besar, jika kedua bilangan tersebut sama besar,
dapat kita ambil bilangan 1, dan sebut bilangan
tersebut MAX
(4) baca bilangan 3
(5) bandingkan MAX dengan bilangan 3, dan pilih yang lebih
besar, jika keduanya sama besar, pilih MAX dan sebut
bilangan tersebut MAX.
(6) keluarkan sebagai output MAX
2) Notasi yang dinyatakan dengan pseudo code
Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat
tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan
mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa
pemrograman, karena terdapat korespondensi antara setiap pseudo code
dengan notasi bahasa pemrograman.
Contoh :
Algoritma Bilangan_Maksimum
{ Dibaca tiga buah bilangan dari piranti masukan. Carilah
bilangan bulat maksimum diantara ketiga bilangan tersebut }
Deklarasi :
Bil1,Bil2,Bil3 : integer {bilangan yang dicari
maksimumnya}
MAX : integer {variabel bantu}
Deskripsi :
Read (Bil1,Bil2)
If Bil1 >= Bil 2 then
Bil1 = MAX
Else Bil2 = MAX
Read (Bil3)
If Bil3 >= MAX then
Bil3 = MAX
Write (MAX)
Mulai
If Bil1>=
Bil2
Baca Bil1,
Bil2
Bil1=MAX
Bil2=MAX
Baca Bil3
If Bil3>=
MAX Bil3=MAX
Cetak MAX
Selesai
YA
YA
TDK
Flowchart Bilangan_Maksimum
3) Notasi yang dinyatakan dalam flow chart
Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma
yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini
jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi
bahasa pemrograman cenderung relatif sukar.
Contoh : Algoritma Bilangan_Maksimum dalam flow char
4. TEKS ALGORITMA
Pada dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul
(header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat
diberi komentar untuk memperjelas maksud teks yang dituliskan. Komentar
biasanya ditulis menggunakan kurung kurawal.
1) Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan
penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma
sebaiknya singkat, namun cukup menggambarkan apa yang akan
dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai
dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh
algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga
spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi
yang didefinisikan.
Contoh :
Algoritma Luas_Lingkaran
{ Menghitung luas lingkaran untuk ukuran jari-jari tertentu.
Algoritma menerima masukan jari-jari lingkaran, menghitung
luasnya, lalu cetak luasnya ke piranti keluaran }
2) Deklarasi
Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan
semua nama yang dipakai di dalam algoritma. Nama tersebut dapat
berupa nama terapan, nama peubah, nama tipe, nama prosedur dan
nama fungsi.
Contoh :
Deklarasi :
Panjang = integer {tipe data bilangan bulat}
Lebar = integer
Luas = real {tipe data bilangan pecahan}
3) Deskripsi
Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi
uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini
dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap
langkah algoritma dibaca dari langkah paling atas hingga langkah paling
bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.
Contoh :
Deskripsi :
Read (nama)
Read (NIM)
Read (nilai)
If (nilai < 45) then
Grade = E
Else if (nilai >= 45) and (nilai < 60) then
Grade = D
Else if (nilai >= 60) and (nilai < 70) then
Grade = C
Else if (nilai >= 70) and (nilai < 80) then
Grade = B
Else
Grade = A
Write (nama)
Write (NIM)
Write (nilai)
5. STRUKTUR DASAR ALGORITMA
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkahlangkah
tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan
aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi,
sebuah algoritma dapat dibangun dari tiga buah struktur dasar, yaitu :
1) Runtunan (sequence)
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi
dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni
sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai
dikerjakan.
2) Pemilihan (selection)
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tiap
–tiap instruksi akan diseleksi oleh kondisi, apabila instruksi memenuhi
kondisi yang diminta, maka instruksi akan dijalankan.
3) Pengulangan (repetition)
Salah satu kelebihan komputer adalah kemampuannya untuk
mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah.
Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup
melakukan pengulangan dengan instruksi yang tersedia.
Algoritma Konversi
{ Terdapat tiga sub bagian (menu) dari program konversi. Pertama,
konversi nilai dolar ke rupiah. Nilai tukar dan jumlah dolar diinput
dari piranti masukan. Kedua, konversi Kilo meter (KM) ke meter (m).
Nilai kilometer diinput dari piranti masukan. Ketiga, konversi
Celcius ke Fahrenheit. Nilai celcius diinput dari piranti masukan.
Ketiga nilai diolah dengan masing-masing rumus yang berbeda.
Hasilnya dicetak ke piranti keluaran }
Deklarasi :
Pilih, Tukar, Dolar, KM = Integer
Nilai1, Nilai2, Celcius = Integer
Nilai3 = Real
Lagi = Char
Deskripsi :
Cetak (judul program)
Cetak (pilihan)
Baca (Pilih)
If (Pilih=1) then
Baca (Tukar)
Baca (Dolar)
Nilai1 = Tukar * Dolar
Cetak (Nilai1)
ElseIf (Pilih=2) then
Baca (KM)
Nilai2 = KM * 1000
Cetak (Nilai2)
Elseif (Pilih=3) then
Baca (Celcius)
Nilai3 = (Celcius * 1.8) + 32
Cetak (Nilai3)
Else
Cetak (Peringatan)
Endif
Baca (Lagi)
If (Lagi = ‘Y’) then goto (x,y)
Cetak (selesai)

Resensi:
1. DEFINISI ALGORITMA
Terdapat beberapa definisi mengenai kata Algoritma :
1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis (Rinaldi Munir :2002).
2. Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan
masalah (KBBI :1988).
3. Algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara
jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan
suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut
pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik
(Team Gunadarma :1988).
2. CIRI ALGORITMA
Menurut Donald E. Knuth, algoritma mempunyai lima ciri penring :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan secara tepat dan tidak berarti dua.
3. Algoritma memiliki nol atau lebih masukan (input).
4. Algoritma mempunyai nol atau lebih keluaran (output).
5. Algoritma harus sangkil (efektif)
3. NOTASI PENULISAN
Di bawah ini dikemukakan beberapa notasi yang digunakan dalam penulisan
algoritma, antara lain :
1) Notasi yang dinyatakan dalam kalimat deskriptif
Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa
yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk
masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu,
pengkonversian notasi algoritma ke notasi bahasa pemrograman
cenderung relatif sukar.
Contoh :
Algoritma Bilangan_Maksimum
Diberikan tiga buah bilangan bulat. Carilah bilangan bulat
maksimum diantara ketiga bilangan tersebut.
Deskripsi :
(1) baca bilangan 1
(2) baca bilangan 2
(3) bandingkan bilangan 1 dan bilangan 2, kita ambil yang
lebih besar, jika kedua bilangan tersebut sama besar,
dapat kita ambil bilangan 1, dan sebut bilangan
tersebut MAX
(4) baca bilangan 3
(5) bandingkan MAX dengan bilangan 3, dan pilih yang lebih
besar, jika keduanya sama besar, pilih MAX dan sebut
bilangan tersebut MAX.
(6) keluarkan sebagai output MAX
2) Notasi yang dinyatakan dengan pseudo code
Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat
tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan
mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa
pemrograman, karena terdapat korespondensi antara setiap pseudo code
dengan notasi bahasa pemrograman.
Contoh :
Algoritma Bilangan_Maksimum
{ Dibaca tiga buah bilangan dari piranti masukan. Carilah
bilangan bulat maksimum diantara ketiga bilangan tersebut }
Deklarasi :
Bil1,Bil2,Bil3 : integer {bilangan yang dicari
maksimumnya}
MAX : integer {variabel bantu}
Deskripsi :
Read (Bil1,Bil2)
If Bil1 >= Bil 2 then
Bil1 = MAX
Else Bil2 = MAX
Read (Bil3)
If Bil3 >= MAX then
Bil3 = MAX
Write (MAX)
Mulai
If Bil1>=
Bil2
Baca Bil1,
Bil2
Bil1=MAX
Bil2=MAX
Baca Bil3
If Bil3>=
MAX Bil3=MAX
Cetak MAX
Selesai
YA
YA
TDK
Flowchart Bilangan_Maksimum
3) Notasi yang dinyatakan dalam flow chart
Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma
yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini
jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi
bahasa pemrograman cenderung relatif sukar.
Contoh : Algoritma Bilangan_Maksimum dalam flow char
4. TEKS ALGORITMA
Pada dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul
(header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat
diberi komentar untuk memperjelas maksud teks yang dituliskan. Komentar
biasanya ditulis menggunakan kurung kurawal.
1) Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan
penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma
sebaiknya singkat, namun cukup menggambarkan apa yang akan
dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai
dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh
algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga
spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi
yang didefinisikan.
Contoh :
Algoritma Luas_Lingkaran
{ Menghitung luas lingkaran untuk ukuran jari-jari tertentu.
Algoritma menerima masukan jari-jari lingkaran, menghitung
luasnya, lalu cetak luasnya ke piranti keluaran }
2) Deklarasi
Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan
semua nama yang dipakai di dalam algoritma. Nama tersebut dapat
berupa nama terapan, nama peubah, nama tipe, nama prosedur dan
nama fungsi.
Contoh :
Deklarasi :
Panjang = integer {tipe data bilangan bulat}
Lebar = integer
Luas = real {tipe data bilangan pecahan}
3) Deskripsi
Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi
uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini
dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap
langkah algoritma dibaca dari langkah paling atas hingga langkah paling
bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.
Contoh :
Deskripsi :
Read (nama)
Read (NIM)
Read (nilai)
If (nilai < 45) then
Grade = E
Else if (nilai >= 45) and (nilai < 60) then
Grade = D
Else if (nilai >= 60) and (nilai < 70) then
Grade = C
Else if (nilai >= 70) and (nilai < 80) then
Grade = B
Else
Grade = A
Write (nama)
Write (NIM)
Write (nilai)
5. STRUKTUR DASAR ALGORITMA
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkahlangkah
tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan
aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi,
sebuah algoritma dapat dibangun dari tiga buah struktur dasar, yaitu :
1) Runtunan (sequence)
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi
dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni
sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai
dikerjakan.
2) Pemilihan (selection)
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tiap
–tiap instruksi akan diseleksi oleh kondisi, apabila instruksi memenuhi
kondisi yang diminta, maka instruksi akan dijalankan.
3) Pengulangan (repetition)
Salah satu kelebihan komputer adalah kemampuannya untuk
mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah.
Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup
melakukan pengulangan dengan instruksi yang tersedia.
Algoritma Konversi
{ Terdapat tiga sub bagian (menu) dari program konversi. Pertama,
konversi nilai dolar ke rupiah. Nilai tukar dan jumlah dolar diinput
dari piranti masukan. Kedua, konversi Kilo meter (KM) ke meter (m).
Nilai kilometer diinput dari piranti masukan. Ketiga, konversi
Celcius ke Fahrenheit. Nilai celcius diinput dari piranti masukan.
Ketiga nilai diolah dengan masing-masing rumus yang berbeda.
Hasilnya dicetak ke piranti keluaran }
Deklarasi :
Pilih, Tukar, Dolar, KM = Integer
Nilai1, Nilai2, Celcius = Integer
Nilai3 = Real
Lagi = Char
Deskripsi :
Cetak (judul program)
Cetak (pilihan)
Baca (Pilih)
If (Pilih=1) then
Baca (Tukar)
Baca (Dolar)
Nilai1 = Tukar * Dolar
Cetak (Nilai1)
ElseIf (Pilih=2) then
Baca (KM)
Nilai2 = KM * 1000
Cetak (Nilai2)
Elseif (Pilih=3) then
Baca (Celcius)
Nilai3 = (Celcius * 1.8) + 32
Cetak (Nilai3)
Else
Cetak (Peringatan)
Endif
Baca (Lagi)
If (Lagi = ‘Y’) then goto (x,y)
Cetak (selesai)

Resensi :
1. DEFINISI ALGORITMA
Terdapat beberapa definisi mengenai kata Algoritma :
1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis (Rinaldi Munir :2002).
2. Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan
masalah (KBBI :1988).
3. Algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara
jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan
suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut
pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik
(Team Gunadarma :1988).
2. CIRI ALGORITMA
Menurut Donald E. Knuth, algoritma mempunyai lima ciri penring :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan secara tepat dan tidak berarti dua.
3. Algoritma memiliki nol atau lebih masukan (input).
4. Algoritma mempunyai nol atau lebih keluaran (output).
5. Algoritma harus sangkil (efektif)
3. NOTASI PENULISAN
Di bawah ini dikemukakan beberapa notasi yang digunakan dalam penulisan
algoritma, antara lain :
1) Notasi yang dinyatakan dalam kalimat deskriptif
Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa
yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk
masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu,
pengkonversian notasi algoritma ke notasi bahasa pemrograman
cenderung relatif sukar.
Contoh :
Algoritma Bilangan_Maksimum
Diberikan tiga buah bilangan bulat. Carilah bilangan bulat
maksimum diantara ketiga bilangan tersebut.
Deskripsi :
(1) baca bilangan 1
(2) baca bilangan 2
(3) bandingkan bilangan 1 dan bilangan 2, kita ambil yang
lebih besar, jika kedua bilangan tersebut sama besar,
dapat kita ambil bilangan 1, dan sebut bilangan
tersebut MAX
(4) baca bilangan 3
(5) bandingkan MAX dengan bilangan 3, dan pilih yang lebih
besar, jika keduanya sama besar, pilih MAX dan sebut
bilangan tersebut MAX.
(6) keluarkan sebagai output MAX
2) Notasi yang dinyatakan dengan pseudo code
Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat
tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan
mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa
pemrograman, karena terdapat korespondensi antara setiap pseudo code
dengan notasi bahasa pemrograman.
Contoh :
Algoritma Bilangan_Maksimum
{ Dibaca tiga buah bilangan dari piranti masukan. Carilah
bilangan bulat maksimum diantara ketiga bilangan tersebut }
Deklarasi :
Bil1,Bil2,Bil3 : integer {bilangan yang dicari
maksimumnya}
MAX : integer {variabel bantu}
Deskripsi :
Read (Bil1,Bil2)
If Bil1 >= Bil 2 then
Bil1 = MAX
Else Bil2 = MAX
Read (Bil3)
If Bil3 >= MAX then
Bil3 = MAX
Write (MAX)
Mulai
If Bil1>=
Bil2
Baca Bil1,
Bil2
Bil1=MAX
Bil2=MAX
Baca Bil3
If Bil3>=
MAX Bil3=MAX
Cetak MAX
Selesai
YA
YA
TDK
Flowchart Bilangan_Maksimum
3) Notasi yang dinyatakan dalam flow chart
Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma
yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini
jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi
bahasa pemrograman cenderung relatif sukar.
Contoh : Algoritma Bilangan_Maksimum dalam flow char
4. TEKS ALGORITMA
Pada dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul
(header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat
diberi komentar untuk memperjelas maksud teks yang dituliskan. Komentar
biasanya ditulis menggunakan kurung kurawal.
1) Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan
penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma
sebaiknya singkat, namun cukup menggambarkan apa yang akan
dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai
dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh
algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga
spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi
yang didefinisikan.
Contoh :
Algoritma Luas_Lingkaran
{ Menghitung luas lingkaran untuk ukuran jari-jari tertentu.
Algoritma menerima masukan jari-jari lingkaran, menghitung
luasnya, lalu cetak luasnya ke piranti keluaran }
2) Deklarasi
Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan
semua nama yang dipakai di dalam algoritma. Nama tersebut dapat
berupa nama terapan, nama peubah, nama tipe, nama prosedur dan
nama fungsi.
Contoh :
Deklarasi :
Panjang = integer {tipe data bilangan bulat}
Lebar = integer
Luas = real {tipe data bilangan pecahan}
3) Deskripsi
Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi
uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini
dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap
langkah algoritma dibaca dari langkah paling atas hingga langkah paling
bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.
Contoh :
Deskripsi :
Read (nama)
Read (NIM)
Read (nilai)
If (nilai < 45) then
Grade = E
Else if (nilai >= 45) and (nilai < 60) then
Grade = D
Else if (nilai >= 60) and (nilai < 70) then
Grade = C
Else if (nilai >= 70) and (nilai < 80) then
Grade = B
Else
Grade = A
Write (nama)
Write (NIM)
Write (nilai)
5. STRUKTUR DASAR ALGORITMA
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkahlangkah
tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan
aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi,
sebuah algoritma dapat dibangun dari tiga buah struktur dasar, yaitu :
1) Runtunan (sequence)
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi
dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni
sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai
dikerjakan.
2) Pemilihan (selection)
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tiap
–tiap instruksi akan diseleksi oleh kondisi, apabila instruksi memenuhi
kondisi yang diminta, maka instruksi akan dijalankan.
3) Pengulangan (repetition)
Salah satu kelebihan komputer adalah kemampuannya untuk
mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah.
Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup
melakukan pengulangan dengan instruksi yang tersedia.
Algoritma Konversi
{ Terdapat tiga sub bagian (menu) dari program konversi. Pertama,
konversi nilai dolar ke rupiah. Nilai tukar dan jumlah dolar diinput
dari piranti masukan. Kedua, konversi Kilo meter (KM) ke meter (m).
Nilai kilometer diinput dari piranti masukan. Ketiga, konversi
Celcius ke Fahrenheit. Nilai celcius diinput dari piranti masukan.
Ketiga nilai diolah dengan masing-masing rumus yang berbeda.
Hasilnya dicetak ke piranti keluaran }
Deklarasi :
Pilih, Tukar, Dolar, KM = Integer
Nilai1, Nilai2, Celcius = Integer
Nilai3 = Real
Lagi = Char
Deskripsi :
Cetak (judul program)
Cetak (pilihan)
Baca (Pilih)
If (Pilih=1) then
Baca (Tukar)
Baca (Dolar)
Nilai1 = Tukar * Dolar
Cetak (Nilai1)
ElseIf (Pilih=2) then
Baca (KM)
Nilai2 = KM * 1000
Cetak (Nilai2)
Elseif (Pilih=3) then
Baca (Celcius)
Nilai3 = (Celcius * 1.8) + 32
Cetak (Nilai3)
Else
Cetak (Peringatan)
Endif
Baca (Lagi)
If (Lagi = ‘Y’) then goto (x,y)
Cetak (selesai)

Resensi :
prihastomo.files.wordpress.com

Sunday, October 11, 2009

Konsep Dasar Algoritma

Algoritma adalah kumpulan instruksi/perintah yang dibuat secara jelas dan
sistematis berdasarkan urutan yang logis (logika) untuk penyelesaian suatu masalah.
French,C.S. (1984) menyatakan sejumlah konsep yang mempunyai relevansi
dengan masalah rancangan program yaitu kemampuan komputer, kesulitan dan ketepatan.
Penerapan dari konsep tersebut biasanya digunakan dalam rancangan algoritma. Dalam
merancang sebuah algoritma, Fletcher (1991) memberikan beberapa cara atau metode yaitu
kumpulan perintah, ekspresi, tabel instruksi, program komputer, kode semu dan flow chart,
sedangkan Knuth (1973) menyarankan algoritma fundamental. Untuk keperluan
matematika dan program komputer metode yang sering digunakan yaitu :
1. Diagram Alir (Flow Chart)
2. Kode Semu (Pseudo Code)
3. Algoritma Fundamental
Knuth (1973) menyatakan 5 komponen utama dalam algoritma yaitu finiteness,
definiteness, input, output dan effectiveness. Sehingga dalam merancang sebuah algoritma
ada 3 (tiga) komponen yang harus ada yaitu:
1. Komponen masukan (input)
Komponen ini biasanya terdiri dari pemilihan variable, jenis variable, tipe variable,
konstanta dan parameter (dalam fungsi).
2. Komponen keluaran (output)
Komponen ini merupakan tujuan dari perancangan algoritma dan program.
Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan dalam
komponen keluaran. Karakteristik keluaran yang baik adalah benar (menjawab)
permasalahan dan tampilan yang ramah (Frendly).
3. Komponen proses (processing)
Komponen ini merupakan bagian utama dan terpenting dalam merancang sebuah
algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan
semantik), rumusan, metode (rekursi, perbandingan, penggabungan, pengurangan dan
lain-lain).

resensi :
algoritma dan pemrograman
oleh : Hendra,S.T