Page 85 - BAHAN_BACAAN_ALGORITMA_DAN_PEMOGRAMAN
P. 85

Hasil  algoritma  di  atas  sama  saja  jika  urutan  C←A+B  dan  D←A*B

                   diubah sebagai berikut :



                       Algoritma RUNTUNAN_1
                       { contoh algorima yang menghasilkan keluaran yang sam jika
                       urutan instruksi diubah. }


                       DEKLARASI

                              A, B, C, D : integer

                       DESKRIPSI

                              read(A,B)
                              D←A*B

                              C←A+B
                              Write(C,D)




                   Contoh  kasus  2  :  urutan  instruksi  berpengaruh  terhadap  solusi
                   persoalan.

                   Diketahui dua buah nilai integer, masing-masing disimpan di dalam

                   dua peubah, A dan B. bagaimana cara mempertukarkan nilai A dan B
                   ?  Misalnya,  sebelum  pertukaran  nilai  A=8,  nilai  B=5,  maka  setelah

                   pertukaran, nilai A=5 dan B=8.



                        Algoritma TUKAR_1
                        { mempertukarkan nilai A dan B. Nilai A dan B dibaca dari piranti masukan.
                        Nilai A dan B dicetak ke piranti keluaran, baik sebelum pertukaran maupun
                        sesudah pertukaran. ALGORITMA YANG BENAR ! }

                        DEKLARASI
                               A      : integer     { nilai pertama }
                               B      : integer     { nilai kedua }
                               Temp  : integer      { peubah bantu }

                        DESKRIPSI
                               { baca nilai A dan B }
                               Read(A,B)
                               { cetak nilai A dan B sebelum pertukaran }
                               Write(A,B)
                               { proses pertukaran }
                               temp←A        { simpan nilai A di penampungan sementara, temp }
                               A←B           { sekarang A dapat diisi dengan nilai B }
                               B←temp        { isi B dengan nilai A semula yang tadi disimpan di temp }
                               { cetak nilai A dan B setelah pertukaran }
                               Write(A,B)
   80   81   82   83   84   85   86   87   88   89   90