Contoh Persoalan Program Input/Output Beserta Penyelesaiannya


1.
Buatlah sebuah program sapaan dalam notasi algoritma dengan spesifikasi sebagai berikut:
a) menampilkan tulisan “Halo, siapa namamu?” di layar, lalu
b) meminta pengguna memasukkan namanya, lalu
c) menampilkan tulisan “Di kota apa kamu sekarang?” di layar, lalu
d) meminta pengguna memasukkan nama kotanya sekarang, dan akhirnya
e) menuliskan pesan “Senang berteman denganmu,” <nama>, “di kota” <kota>”, yang dalam hal ini <nama> dan <kota> adalah string yang dibaca berdasarkan b) dan d).

Penyelesaian:
PROGRAM Sapaan
{Program yang menerima input <nama> dan <kota>, lalu mencetak sapaan “Senang berteman denganmu,” <nama>, “di kota” <kota>” untuk menyapa pengguna}
DEKLARASI:
  nama: string
  kota: string
ALGORITMA:
  write(‘Halo, siapa namamu?’)
  read(nama)                                                                                                                      {inputkan nama pengguna}
  write(‘Di kota apa kamu sekarang?’)
  read(kota)                                                                                                                        {inputkan <kota>}
  write(‘Senang berteman denganmu, ’<nama> ‘di kota’ <kota>)


2.
Tulislah program input-output sederhana dalam notasi algoritma untuk menghitung luas bangun geometri yang lain (bujursangkar, segitiga, trapesium, dan sebagainya). Data masukan dibaca dari piranti masukan dan luas bangun ditampilkan sebagai keluaran.

Penyelesaian:
PROGRAM Menghitung Luas Bujursangkar
{Program yang membaca sisi (s) sebuah bujursangkar, menghitung luas bujursangkar, lalu mencetak hasilnya ke layar.}
DEKLARASI:
  s: real                         {sisi bujursangkar, dalam satuan cm}
  Luas: real                    {luas bujursangkar, dalam satuan cm2}
ALGORITMA:
  read(s)                               {inputkan sisi bujursangkar}
  Luas s*s                        {hitung luas bujursangkar}
  write(Luas)                       {tampilkan luas bujursangkar ke layar}


PROGRAM Menghitung Luas Segitiga
{Program yang membaca alas (a) dan tinggi (t) sebuah segitiga, menghitung luas segitiga, lalu mencetak hasilnya ke layar.}
DEKLARASI:
  a: real                        {alas segitiga, dalam satuan cm}
  t: real                         {tinggi segitiga, dalam satuan cm}
  Luas: real                    {luas segitiga, dalam satuan cm2}
ALGORITMA:
  read(a, t)                          {inputkan alas dan tinggi segitiga}
  Luas (a*t)/2                {hitung luas segitiga}
  write(Luas)                       {tampilkan luas segitiga ke layar}


PROGRAM Menghitung Luas Trapesium
{Program yang membaca sisi sejajar atas (a), sisi sejajar bawah (b), dan tinggi (t) sebuah trapesium, menghitung luas trapesium, lalu mencetak hasilnya ke layar.}
DEKLARASI:
  a: real                        {sisi sejajar atas trapesium, dalam satuan cm}
  b: real                         {sisi sejajar bawah trapesium, dalam satuan cm}
  t: real                         {tinggi trapesium, dalam satuan cm}
  Luas: real                    {luas trapesium, dalam satuan cm2}
ALGORITMA:
  read(a, b, t)                      {inputkan sisi sejajar atas, sisi sejajar bawah, dan tinggi sebuah trapesium}
  Luas ((a+b)*t)/2        {hitung luas trapesium}
  write(Luas)                       {tampilkan luas trapesium ke layar}


3.
Buatlah program sederhana dalam notasi algoritma yang membaca temperatur dalam satuan Celcius, lalu mengkonversinya ke satuan Fahrenheit, dan menampilkan hasil konversinya ke layar. Rumus dari Celcius (C) ke Fahrenheit (F) adalah F = 9/5 x C + 32.

Penyelesaian:
PROGRAM Konversi suhu dari Celsius ke Fahrenheit
{Program yang membaca besaran suhu dalam satuan Celcius, menghitung/mengkonversinya ke dalam satuan Fahrenheit, lalu mencetak hasilnya ke layar.}
DEKLARASI:
  C: real                        {besaran suhu, dalam satuan Celcius}
  F: real                         {besaran suhu, dalam satuan Fahrenheit}
ALGORITMA:
  read(C)                              {inputkan besaran suhu dalam satuan Celcius}
  F((9/5)*C)+32           {hitung besaran suhu dalam satuan Fahrenheit}
  write(F)                             {tampilkan besaran suhu dalam satuan Fahrenheit ke layar}

4.
Ulangi soal nomor 3 untuk konversi temperatur dari Fahrenheit ke Celcius, dengan rumus C = 5/9 x (F – 32).

Penyelesaian:
PROGRAM Konversi suhu dari Fahrenheit ke Celsius
{Program yang membaca besaran suhu dalam satuan Fahrenheit, menghitung/mengkonversinya ke dalam satuan Celsius, lalu mencetak hasilnya ke layar.}
DEKLARASI:
  C: real                        {besaran suhu, dalam satuan Celcius}
  F: real                         {besaran suhu, dalam satuan Fahrenheit}
ALGORITMA:
  read(F)                               {inputkan besaran suhu dalam satuan Fahrenheit}
  C((5/9)*(F-32)           {hitung besaran suhu dalam satuan Celcius}
  write(C)                             {tampilkan besaran suhu dalam satuan Celcius ke layar}




5.
Sebuah mobil melaju dengan kecepatan tetap v km/jam. Jika mobil tersebut berjalan selama t jam, tulislah algoritma untuk menghitung jarak yang sudah ditempuh mobil (dalam km). Algoritma tersebut membaca masukan berupa v dan t, menghitung jarak dengan rumus s = vt, lalu mencetak jarak tersebut.

Penyelesaian:
PROGRAM Menghitung Jarak Tempuh Mobil
{Program yang membaca kecepatan tetap (v) dan waktu tempuh perjalanan (t) sebuah mobil, menghitung jarak yang sudah ditempuh mobil, mencetak hasilnya ke layar.}
DEKLARASI:
  v: real             {kecepatan tetap, dalam satuan km/jam}
  t: real             {waktu tempuh perjalanan, dalam satuan jam}
  s: real             {jarak yang sudah ditempuh, dalam satuan km}
ALGORITMA:
  read(v,t)            {inputkan kecepatan tetap dan waktu tempuh perjalanan mobil}
  s v*t               {menghitung jarak tempuh mobil}
  write(s)              {tampilkan jarak tempuh mobil ke layar}


6.
Dibaca ukuran sebuah segitiga berupa panjang alas dan tingginya (dalam satuan cm). Tulislah algoritma yang membaca ukuran segitiga tersebut lalu menghitung luas segitiga tersebut.

Penyelesaian:
PROGRAM Menghitung Luas Segitiga
{Program yang membaca alas (a) dan tinggi (t) sebuah segitiga, menghitung luas segitiga, lalu mencetak hasilnya ke layar.}
DEKLARASI:
  a: real                        {alas segitiga, dalam satuan cm}
  t: real                         {tinggi segitiga, dalam satuan cm}
  Luas: real                    {luas segitiga, dalam satuan cm2}
ALGORITMA:
  read(a, t)                          {inputkan alas dan tinggi segitiga}
  Luas (a*t)/2                {hitung luas segitiga}
  write(Luas)                       {tampilkan luas segitiga ke layar}


7.
Di sebuah toko, pembeli mendapat diskon harga 5% untuk setiap barang yang dibeli. Tulislah algoritma yang membaca harga sebuah barang (dalam Rp) dan potongan diskon (dalam %), lalu hitunglah harga barang setelah didiskon.

Penyelesaian:
PROGRAM Menghitung harga barang setelah didiskon
{Program yang membaca harga (h) dan potongan diskon (d) sebuah barang, menghitung harga barang setelah didiskon, lalu mencetak hasilnya ke layar.}
DEKLARASI:
  h: real                                    {harga barang, dalam Rp}
  d: real                                    {potongan diskon barang, dalam %}
  Harga_diskon: real                  {harga barang setelah didiskon, dalam Rp}
ALGORITMA:
  read(h, d)                                         {inputkan harga dan potongan diskon barang }
  Harga_diskon h-((h*d)/100) {hitung harga barang setelah didiskon, dalam Rp}
  write(Harga_diskon)                    {tampilkan harga barang setelah didiskon ke layar}


8.
Pada bank konvensional, uang yang disimpan sebesar x mendapat bunga sebesar p% setiap tahun. Tulislah algoritma yang membaca x dan p, lalu menghitung jumlah uang setelah disimpan selama satu tahun.

Penyelesaian:
PROGRAM Menghitung jumlah uang setelah disimpan di bank konvensional selama satu tahun
{Program yang membaca jumlah uang yang disimpan saat ini (x) dan bunga bank setiap tahun (p), menghitung jumlah uang setelah disimpan selama satu tahun (y), lalu mencetak hasilnya ke layar.}
DEKLARASI:
  x: real                         {jumlah uang yang disimpan saat ini}
  p: real                        {bunga bank setiap tahun, dalam satuan %}
  y: real                         {jumlah uang setelah disimpan selama satu tahun}
ALGORITMA:
  read(x,p)                           {inputkan jumlah uang yang disimpan saat ini dan bunga bank setiap tahun}
  y x + ((x*p)/100)        {hitung jumlah uang setelah disimpan di bank selama satu tahun}              
  write(y)                             {tampilkan jumlah uang setelah disimpan di bank selama setahun}



Komentar