Struktur Dasar Algoritma

Struktur Dasar Algoritma

Algoritma sendiri adalah urutan atau langkah-langkah untuk perhitungan atau menyelesaikan suatu masalah yang ditulis secara berurutan. Ada tiga macam Struktur dasar algoritma yaitu :


    1. Struktur sekuensial (runtutan)

    2. struktur sekuensial adalah algoritma yang langkah-langkahnya dikerjakan atau dieksekusi secara urut dari awal hingga akhir sesuai dengan urtuannya. Urutan instruksi menentukan keadaan akhir algoritma. Bila urutannya diubah, maka hasil akhir mungkin juga berubah. 
          
          Kita bisa lihat contoh gambar flowchart di atas. Terlihat ada kumpulan instruksi tersusun dari atas ke bawah. Program akan mengeksekusi instruksi_1, setelah instruksi_1 sudah selesai dikerjakan, selanjutnya mengeksekusi instruksi_2. Setelah instruksi_2 selesai dikerjakan, selanjutnya program akan mengeksekusi instruksi_3. Setelah instruksi_3 sudah selesai dikerjakan, maka selanjutnya program akan berakhir atau selesai. Kita ambil contoh program menghituung luas persegi panjang. Dan berikut algoritmanya :

              • Deskripsi :
              1. Mulai
              2. Masukkan panjang
              3. Masukkan Lebar
              4. Luas=   panjang*lebar
              5. Tulis luas
              6. Selesai

              • Flowchart Luas Persegi Panjang


          Perhatikan gambar flowchart di atas, luas persegi panjang memiliki 3 instruksi yang harus dieksekusi. Instruksi 1: program akan membaca panjang dari persegi panjang yang telah di input. Instruksi 2: program juga akan membaca lebar dari persegi panjang yang telah di input. Instruksi 3: program akan melakukan operasi aritmatika rumus persegi panjang. Instruksi 4: menampilkan hasil dari perhitungan rumus luas persegi panjang. Note: Semakin banyak instruksi pada program, maka semakin banyak waktu untuk mengeksekusinya. pada perancangan sebuah program, efesiensi instruksi sangatlah penting untuk mempercepat dan menghemat konsumsi momeri pada program. 

          Contoh struktur sekuensial pada java :  https://github.com/nabilatularofah/java/blob/master/sekuensial%201/src/persegi/panjang/PersegiPanjang.java
            2. Struktur seleksi (percabangan)

                 Struktur seleksi atau percabangan adalah algoritma yang menjalankan instruksi selanjutnya apabila syarat yang ditetapkan sudah terpenuhi. Pada struktur ini tidak setiap instruksi akan dikerjakan, instruksi yang dikerjakan hanya yang memenuhi syarat saja. Struktur seleksi mempunyai dua buah kondisi yaitu benar (true) dan salah (false). Ada 4 macam pada struktur seleksi ini, yaitu :

        • if 
        Perintah if digunakan untuk menjalankan satu atau lebih perintah berdasarkan suatu kondisi.

        Pada contoh flowchart di atas, terlihat bahwa ada sebuah kondisi yang akan mengeksekusinya, apakah kondisi tersebut bernilai benar atau salah. Jika benar maka akan masuk ke proses pernyataan, dan jika salah maka akan masuk ke proses lain.

        • if .... else

        Perintah if .... else digunakan untuk memilih salah satu dari dua pernyataan yang di tentukan. Perintah ini akan menjalankan perintah tertentu jika bernilai TRUE dan akan menjalankan perintah tertentu jika bernilai FALSE.



        041.jpg

        Pada contoh flowchart diatas, ada sebuah inputan yang akan dieksekusi dengan kondisi A>0, apabila nilai A lebih besar dari 0 (misal 5) maka masuk ke pernyataan_1 dan outputnya sesuai dengan pernyataan_1. Apabila nilai A lebih kecil dari 0(misal -5) maka masuk ke pernyataan_2 dan outputnya sesuai dengan pernyataan_2. 



        • if .... else if

        Perintah if .... else if digunakan untuk menjalanjan suatu pernyataan dengan melibatkan lebih dari satu kondisi (banyak kondisi).


        Hasil gambar untuk flowchart if else if

        Dari contoh flowchart di atas, ada beberapa kondisi yang akan dieksekusi, tapi tidak semuanya dieksekusi. Misalnya pada kondisi yang pertama itu memiliki nilai false, maka lanjut masuk ke kondisi yang kedua, nah misalkan di kondisi yang kedua sudah bernilai true, maka akan masuk ke kondisi 2 statement dan akan dioutput. Pada kondisi yang ke ketiga sudah tidak dieksekusi lagi, karena sudah menemukan yang bernilai true.

        • Switch .... case

        Perintah switch digunakan sebagai alternatif pengganti dari if .... else if. Perintah switch akan menyeleksi kondisi yang diberikan dan membandingkan hasilnya dengan konstanta-konstanta yang ada pada case. Jika sama dengan kondisi, maka sistem akan menjalankan perintah tersebut dan akan berhenti pada perintah break.


        Flow Diagram of Switch-Case statement

        Dari flowchart di atas, tidak jauh berbeda dengan if...else if. Apabila case condition 1 bernilai false maka akan masuk ke case condition 2, dan jika di case condition 2 bernilai true, maka masuk ke statement 2 dan berhenti dengan perintah break, dan itu hasil yang akan di output.

        Contoh struktur seleksi pada java :

        https://github.com/nabilatularofah/java/blob/master/seleksi%201/src/seleksi/pkg1/Seleksi1.java


            3. Struktur repetition (Perulangan)

        Struktur repetition adalah algoritma yang menjalankan beberapa langkah tertentu secara berulang-ulang sampai terpenuhinya suatu kondisi.


        Perulangan dalam pemrograman dibagi menjadi 2 jenis :

        • counted loop : perulangan yang jumlah perulangannya terhitung atau tertentu. Terdiri dari for dan for each

        • uncounted loop : perulangan yang jumlah perulangannya tidak terhitung atau tidak tentu. Terdiri dari while dan do while.

        1. For loop

        Format penulisan for loop :

        for (start; condition; increment)
        {
           statement;
        }


        Start adalah kondisi pada saat perulangan. 

        Biasanya kondisi awal ini digunakan untuk membuat dan memberikan nilai kepada variabel yang digunakan untuk mengontrol perulangan. Misal kita akan membuat variabel i, maka untuk kondisi start ini, kita juga harus memberikan nilai awal untuk variabel i, misalnya 0, maka i=0.



        Condition adalah kondisi yang harus terpenuhi agar looping dapat berjalan. Selama kondisi terpenuhi, maka program akan terus melakukan perulangan. Misalnya i <= 10, artinya selama nilai hitungannya lebih kecil atau sama dengan 10, maka perulangan akan terus dilakukan . Dengan kata lain, perulangan ini akan mengulang sebanyak 10 kali.




        Increment adalah bagian yang digunakan untuk memproses variabel agar bisa memenuhi kondisi akhir perulangan. bisa ditulis i++ atau ++i, fungsinya untuk menambah satu (+1) nilai start pada setiap pengulangan.




        Statement adalah bagian baris kode program yang kan diproses secara terus-menerus selama proses perulangan berlangsung. 




        Jadi, contoh format penulisan for loop seperti ini : 


        for (int i=0; i<=10; i++)


        {
             statement
        {

           2. For each loop

        Perulangan ini fungsinya untuk menampilkan isi dari array.

        Apa itu array ?
        Singkatnya, array itu variabel yang menyimpan lebih dari satu nilai dan memiliki indeks.
        Selengkapnya, bisa klik link ini :

        format penulisan for each loop :

        for (nama variabel : data array){
        }
        Contoh :

        Disitu saya menggunakan variabel int, dan angka sebagai nama dari variabel


        Maka hasil outpunya:


                 

            3. While loop

        Seperti yang sudah tertera di atas, bahwa while loop merupakan uncounted loop, artinya perulangan ini tidak terhitung jumlahnya, tapi tidak menutup kemungkinan juga jumlah perulangannya dapat dihitung. Pada perulangan while pengecekan kondisi akan dilakukan terlebih dahulu, jika kondisi masih benar, maka perluangan masih berlanjut. Dan sebaliknya jika bernilai salah maka perulangan akan dihetikan. Perhatikan contoh flowchart dibawah ini:


                                                         gambar nano 7fdsgdf

        Terlihat bahwa ada sebuah kondisi yang akan dieksekusi, apabila kondisi tersebut bernilai salah maka program akan selesai, dan apabila kondisi tersebut bernilai benar, maka akan masuk ke pernyataan dan akan di ulang-ulang sampai memenuhi syarat.



           4. Do while loop

        Cara kerja do while ini hampir sama dengan while, bedanya do while melakukan perulangan dulu, kemudian mengecek kondisinya.



        Pada flowchart di atas do while mengeksekusi pernyataan terlebih dahulu, setelah itu program akan memeriksa kondisi, jika kondisi bernilai true, maka program akan mengeksekusi kembali pernyataan terus-menerus sampai kondisi false program akan keluar dari pernyataan do while. Jadi misalkan kondisi awal pengeksekusian sudah bernilai false, maka program do while masih bisa berjalan mengeksekusi pernyataan, lalu pada while(kondisi) akan berhenti karena do while ini akan mengeksekusi isi pernyataan terlebih dahulu sebelum mengecek kondisi.

        Contoh struktur repetition pada java :

        Ok, sekian pembahasan dari saya tentang struktur dasar algoritma.

        Komentar