Penyelesaian Masalah dengan Struktur Sekuensial

 Penyelesaian Masalah dengan Struktur Sekuensial

                Struktur sekuensial menyatakan beberapa pernyataan yang dikerjakan secara berurutan. Diagram di bawah ini menunjukkan contoh struktur sekuensial yang mengandung tiga pernyataan. Perintah 1 dikerjakan terlebih dahulu. Setelah selesai, Pernyataan 2 dieksekusi. Terakhir, Pernyataan 3 diproses.


                Berikut adalah contoh program yang menggunakan struktur sekuensial saja.

#include <iostream>

using namespace std;


int main()

{

    unsigned short int usia;

    

    cout << "Masukkan usia Anda: ";

    cin >> usia;

    cout << "Terima kasih. Usia Anda tahun depan: " << usia + 1;

    

    return(0);

}

Berikut menyatakan urutan eksekusi pernyataan-pernyataan dalam

main() :

    1. unsigned short int usia;

    2. cout << "Masukkan usia Anda: ";

    3. cin >> usia;

    4. cout << "Terima kasih. Usia Anda tahun depan: " << usia + 1;

    5. return (0);

                Pertama-tama, pernyataan untuk mendeklarasikan usia dieksekusi. Setelah pernyataan ini dieksekusi, pernyataan kedua dijalankan. Pernyataan kedua bertindak sebagai prompt, yaitu untuk memberi keterangan pada pemakai mengenai data yang perlu dimasukkan. Setelah itu, pernyataan ketiga dijalankan. Pernyataan ketiga ini digunakan untuk membaca data dari papan-ketik dan data yang dimasukkan oleh pemakai akan disimpan pada variabel usia. Setelah pemakai memasukkan data dari papan-ketik dan menekan tombol Enter, pernyataan keempat dijalankan. Pernyataan ini digunakan untuk menampilkan ucapan terima kasih dan diikuti dengan menyajikan hasil ekspresi usia + 1. Pernyataan terakhir yang dijalankan adalah

        return(0);

            Pernyataan ini digunakan untuk mengakhiri program dan memberikan nilai balik berupa nol kepada sistem operasi. Urutan pernyataan pada struktur sekuensial di depan tidak boleh dipertukarkan. Penukaran urutan akan membuat kegunaan program menjadi tidak seperti semestinya. Sebagai contoh, jika pernyataan

        cout << "Masukkan usia Anda: ";

diletakkan setelah

        cin >> usia;

maka pesan "Masukkan usia Anda: " sebagai prompt menjadi tidak berguna. Akan tetapi, pada kasus tertentu, urutan pernyataan dalam struktur sekuensial boleh dipertukarkan. Sebagai contoh, perhatikan deretan pernyataan berikut:

        a = 5;

        b = 6;

        c = 7;

        d = -b + sqrt((b * b - 4 * a * c) / (2 * a));

Pada contoh ini, urutan ketiga pernyataan pertama bersifat bebas. Penulisan seperti berikut boleh saja karena tidak akan mengubah hasil pada d:

        b = 6;

        a = 5;

        c = 7;


Contoh Penyelesaian Masalah dengan Hanya Struktur Sekuensial

                Beberapa persoalan yang cukup diselesaikan menggunakan struktur sekuensial dibahas berikut ini.

Contoh 1 - Konversi sudut dalam derajat ke radian

Kita terbiasa menggunakan satuan sudut dalam derajat, tetapi fungsi seperti sin() memerlukan sudut dalam satuan radian. Buatlah program yang dapat digunakan untuk memasukkan sudut dalam derajat dan menghasilkan sudut dalam radian.

Solusi:

Pertama-tama, perlu dicari hubungan antara radian dan derajat. Dalam hal ini,

radian = derajat * π / 180 = derajat * 3.14 / 180 = derajat * 0.017453277

Setelah rumus ini diketahui, program dapat ditulis seperti berikut:

// Konversi derajat ke radian

#include <iostream>

using namespace std;


int main()

{

    double derajat;

    

    cout << "Konversi derajat ke radian" << endl;

    cout << "--------------------------" << endl;

    

    cout << "Derajat = ";

    cin >> derajat;


    // Derajat ke radian

    double radian- derajat 0.017453277;


    // Tampilkan hasilnya

    cout << "Radian = " << radian << endl;


return(0);

}

Contoh pengujian program dapat dilihat berikut ini:

Konversi derajat ke radian

--------------------------

Derajat = 90

Radian = 1.57079

Contoh 2 - Perhitungan jarak antara dua titik

Fahmi seringkali dihadapkan pada persoalan untuk menghitung jarak antara dua titik. Maka, ia bermaksud meminta tolong untuk dibuatkan program yang memungkinkan ia memasukkan posisi kedua titik dan program dapat memberikan panjang kedua titik.

Solusi:

Gambar berikut menunjukkan sketsa persoalan ini

Nah, jarak antara titik (x1, y1) dan titik (x2, y2) dapat dihitung menggunakan rumus Euclidean yang berupa:
    jarak√(x2
- x1)2 + (y2- y1)2
Program untuk menghitung jarak antara dua titik dapat diwujudkan seperti berikut:

// Perhitungan jarak antara dua titik

#include <iostream>

#include <cmath>

using namespace std;


int main()

{

    double x1, y1, x2, y2;

    

    cout << "Jarak antara dua titik" << endl;

    cout << "----------------------" << endl;

    

    cout << "X1 = ";

    cin >> x1;


    cout << "Y1 = ";

    cin >> yl;


    cout << "X2 = ";

    cin >> x2;


    cout << "Y2 = ";

    cin >> y2;


    // Perhitungan jarak double jarak = sqrt((x2-x1)* (x2 - x1) + (y2 - y1) * (y2-yl));


    // Tampilkan hasilnya

    cout << "Jarak = " << jarak << endl;

    

    return (0);

}

Contoh pengujian program ini diperlihatkan berikut ini:

Jarak antara dua titik

----------------------

X1 = 6

Y1 = 20

X2 = 30

Y2 = 16

Jarak = 5

Contoh 3 - Luas segitiga

Dian dihadapkan pada persoalan menghitung luas segitiga yang didasarkan pada tiga sisi yang diketahui, la menginginkan program yang dapat digunakan untuk memasukkan sembarang tiga sisi segitiga dan menghasilkan luas segitiga tersebut.

Solusi:

Luas segitiga yang ketiga sisinya diketahui dapat dihitung menggunakan rumus Heron. Rumusnya seperti berikut:

Luas = √s(s-a)(s-b)(s-c)

Dalam hal ini, , dan a, b, serta c menyatakan sisi-sisi segitiga. 

Perwujudannya seperti berikut:

// Perhitungan luas segitiga

#include <iostream>

#include <cmath>

using namespace std;


int main()

{

    double a, b, c; // Sisi a, b, dan c

    

    cout << "Perhitungan luas segitiga" << endl;

    cout << "-------------------------" << endl;


    cout << "Sisi pertama = ";

    cin >> a:

        

    cout << "Sisi kedua

    cin >> b;


    cout << "Sisi ketiga = ";

    cin >> c;


    // Perhitungan luas segitiga

    double s = (a + b + c) / 2;

    double luas = sqrt(s *(s - a) * (s - b) * (s - c));


    // Tampilkan hasilnya

    cout << "Luas = " << luas << endl;


    return (0);

}

Contoh hasil pengujian program dapat dilihat berikut ini:

Perhitungan luas segitiga

-------------------------

Sisi pertama = 5

Sisi kedua = 6

Sisi ketiga = 7

Luas = 14.6969

Komentar

Postingan Populer