Struktur Teks Pseudo-code


Struktur Teks Pseudo-code
PROGRAM Nama Program { Penjelasan tentang algoritma, yang berisi uraian singkat mengenai masalah yang akan diselesaikan } DEKLARASI { Semua nama yang dipakai, meliputi nama tipe, konstanta, peubah, prosedur dan fungsi diumumkan di sini } ALGORITMA: { Semua langkah/aksi algoritma dituliskan di sini }

Tujuan Dengan belajar dari contoh, mahasiswa mampu memecahkan masalah dalam sebuah algoritma pemecahan masalah menggunakan notasi pseudocode.

Contoh Masalah
Tinjau sebuah masalah sederhana yakni mempertukarkan isi dari dua buah gelas. Gelas A berisi air kopi dan gelas B berisi air susu. Kita ingin mempertukarkan isi kedua gelas itu sedemikian hingga gelas A akan berisi air susu dan gelas B berisi air kopi.

Contoh Algoritma
Misalkan seseorang menuliskan langkah-langkah pertukaran isi kedua gelas tersebut ke dalam program Tukar_Isi dengan algoritma sbb: PROGRAMTukar_Isi {Diberikan dua buah gelas, A dan B; gelas A berisi air kopi dan gelas B berisi air susu. Pertukarkan isi kedua gelas} DEKLARASI A, B : Gelas ALGORITMA:  Tuangkan air dari gelas A ke dalam gelas B  Tuangkan air dari gelas B ke dalam gelas A Perhatikan bahwa algoritma Tukar_Isi di atas tidak akan menghasilkan pertukaran yang benar. Langkah-langkahnya tidak logis.

Perhatikan langkah pemecahan berikut:

Algoritma Pemecahan Masalah
C A { simpan A di tempat penampungan sementara C } A B { sekarang A dapat diisi dengan nilai B } B  C { isi B dengan nilai A semula yang tadi disimpan di C }

Contoh Masalah
Buatlah algoritma untuk mempertukarkan nilai dari dua buah variabel.
Misalkan A = 8 dan B = 5. Kita ingin mempertukarkan nilai A dan B sedemikian hingga A = 5 dan B = 8.

Algoritma Pemecahan Masalah
Algoritma pertukaran dua buah nilai ini sama seperti algoritma mempertukarkan isi dari dua buah gelas.
PROGRAMPertukaran_Nilai { Mempertukarkan nilai A dan B. Nilai A dan B dibaca terlebih dahulu } DEKLARASI A, B, temp: integer ALGORITMA: read (A,B) {Baca nilai A dan B terlebih dahulu} {Proses pertukaran} temp A {simpan A di tempat sementara, temp} A  B {sekarang A dapat diisi dengan nilai B} B  temp {isi B dengan nilai A semula yang tadi disimpan di temp} write (A,B) {cetak nilai A dan B setelah pertukaran}

Contoh Masalah
Buatlah algoritma yang membaca panjang dan lebar sebuah segi empat lalu menghitung luasnya. Luas segi empat itu dicetak ke piranti keluaran.
panjang
lebar

Algoritma Pemecahan Masalah
PROGRAMLuas_Segi_Empat { Membaca panjang dan lebar segi empat, menghitung luasnya, lalu mencetak luas tersebut ke piranti keluaran }
DEKLARASI panjang, lebar, luas: real
ALGORITMA: read (panjang, lebar) {Proses pertukaran} luas  panjang * lebar write (luas)

Masalah Selanjutnya..
Buatlah algoritma untuk mempertukarkan nilai dari dua buah peubah, A dan B tanpa menggunakan peubah bantu.

Contoh Algoritma
PROGRAM Pertukaran_Nilai { Program untuk mempertukarkan nilai A dan B tanpa peubah bantu. Nilai A dab B dibaca terlebih dahulu}
DEKLARASI A, B  : integer
ALGORITMA: read (A,B)   { baca nilai A dan B terlebih dahulu } write (A,B)  { cetak nilai A dan B sebelum pertukaran } A  A + B   { proses pertukaran } A  A - B A  A - B   write (A,B)   { cetak nilai A dan B setelah pertukaran }

Contoh Algoritma
PROGRAM Komisi_Salesman { Menghitung komisi salesman yang besarnya 5% dari nilai penjualan }
DEKLARASI nama_salesman           : string nilai_penjualan, komisi : real
ALGORITMA: read (nama_salesman, nilai_penjualan)  komisi  0.05 * nilai_penjualan   write (komisi)

Contoh Algoritma
PROGRAM Gaji_Karyawan { Menghitung gaji bersih = gaji pokok + tunjangan – pajak, tunjangan =   20% dari gaji pokok dan pajak = 15% dari gaji pokok ditambah tunjangan }
DEKLARASI const persen_tunjangan = 0.2 const persen_pajak nama_karyawan   : string gaji_pokok, tunjangan, pajak, gaji_bersih   : real
ALGORITMA: read (nama_karyawan, gaji_pokok) tunjangan  persen_tunjangan * gaji_pokok pajak  persen_pajak * (gaji_pokok + tunjangan) gaji_bersih  gaji_pokok + tunjangan - pajak   write (nama_karyawan, gaji_bersih)

Contoh Algoritma
PROGRAM Konversi_ke_detik { Membaca waktu tempuh pelari maraton dalam jam, menit dan detik. Kemudian mengkonversi waktu tempuh ke dalam detik }
DEKLARASI type Jam = record < hh, mm,dd : integer > waktu_tempuh : Jam total_detik   : integer
ALGORITMA: read (jam, menit,detik) total_detik  (waktu_tempuh.hh * 3600) +  (waktu_tempuh.mm * 60)  + waktu_tempuh.ss write (total_detik)

Contoh Algoritma
PROGRAM Konversi_ke_Jam_Menit_Detik { Membaca durasi percakapan telepon dalam detik. Kemudian mengkonversi waktu ke dalam jam, menit dan detik. }
DEKLARASI type Jam = record < hh, mm,dd : integer > durasi : Jam total_detik, sisa   : integer
ALGORITMA: read (total_detik) durasi.hh  total_detik div 3600 Sisa  total_detik mod 3600 durasi.mm  sisa div 60 durasi.ss  sisa mod 60 write (durasi.hh, durasi.mm, durasi.ss)

Komentar

Postingan populer dari blog ini

Object primitif dalam grafika komputer

IP Address

Makalah Integrasi Sistem