Artikel

Stuktur Algoritma

Kali ini kita akan memahami penggunaan struktur algoritma berupa :

  1. Sequence (urutan)
  2. Selection (Pemilihan)
  3. Iteration (Pengulangan)

 

  1. SEQUENCE

Sequence adalah kumpulan instruksi yang tiap tiap instruksi dilaksanakan secara berurutan sesuai dengan urutan penulisannya , sebuah instruksi baru bisa dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan.

Contoh :

Algoritma hitung_keliling_bujur_sangkar

{menghitung keliling bujur sangkar}

Deklarasi:

                k, s : integer  {integer merupakan salah satu tipe data bilangan bulat}

Deskripsi:

                Input(s)                                      {menerima s yaitu sisi bujur sangkar}

                k (simbol panah kekiri)        4 * s  {rumus menghitung keliling bujur sangkar}

                output (k)                                     {mencetak k sebagai keliling bujur sangkar}

 

Contoh lain :

Algoritma luas_persegi_panjang

{menghitung luas persegi panjang}

Deklarasi:

                p,l,luas : integer

Deskripsi:

                Input(p)                                               {menerima p yaitu nilai panjang persegi panjang}

                Input(l)                                                 {menerima l yaitu nilai lebar persegi panjang}

                luas (simbol panah kekiri)        p * l       {rumus menghitung luas persegi panjang}

                output(luas)                                          {mencetak luas persegi panjang}

latihan:

  1. Tulislah algoritma yang mendapatkan masukan jam dan menit untuk dinyatakan dalam menit?

Jawab :

Algoritma Nyatakan_waktu_dalam_menit

{menyatakan waktu dalam menit}

Deklarasi:

        J, m, tm : integer

Deskripsi :

        Input(J)                                                           {menerima masukan J yaitu Jam}

        Input(m)                                                          {menerima masukan m yaitu menit}

        tm (simbol panah kekiri)        ((J*60)+m)           {menkonversi jam kedalam menit & menambahka n jumlah menit}

        output(tm)                                                        {mencetak total menit yang telah di konversi}

 

  1. Tulislah algoritma yang menit untuk dinyatakan dalam jam dan menit?

Jawab :

Algoritma nyatakan_waktu_dalam_jam_dan_menit

{menyatakan waktu dalam jam dan menit}

Deklarasi:

a, h, m : integer

Deskripsi:

        Input(a)                                             {menerima masukkan m yaitu jumlah menit}

        m (simbol panah kekiri)        a mod 60 {mencari sisa menit dalam jam, mod adalah perintah untuk mencari hasil sisa bagi dari sebuah bilangan dalam bentuk bilangan bulat}

        h (simbol panah kekiri)        (a-m)/60  {mencari banyaknya jam yang ada}

        output(h,m)                                       {mencetak jam dan menit yang telah dicari}

  1. SELECTION

Selection adalah instruksi yang mengandung pemilihan apakah suatu kondisi memeuhi kondisi yang disyaratkan atau tidak. Sebuah selection biasanya memiliki:

  1. Kondisi persyaratan pemilihan
  2. Instruksi jika kondisi dipenuhi
  3. Instruksi jika kondisi tidak dipenuhi(optional)

Terdapat dua jenis selection yaitu :

  • Selection dengan banyak kasus
  • Selection dengan satu/dua kasus

Selection dengan banyak kasus :

Sintaks yang digunakan :

Depend on (sesuatu)

:

:

:

:

Contoh :

Algoritma tulis_bilangan

{menyatakan suatu bilangan}

Deklarasi :

                B : integer

Deskripsi :

Input(B)               {menerima bilangan b}

Depend on (B)

B = 1 : output(‘satu’)

B = 2 : output(‘dua’)

B = 3 : output(‘tiga’)

Latihan :

  1. Tulislah algoritma yang menerima nilai mahasiswa, lalu tentukan apakah nilai tersebut A, B, C, D atau E

Ketentuan : A(>=80), (68<=B<80), 56<C<68),(45<D<56),E<45

JAWAB :

Algoritma nilai_mahasiswa

{menentukan nilai mahasiswa}

Deklarasi :

        X : integer

Deskripsi

        Input(X)               {menerima bilangan X}

        Depend on (X)

                        X >= 80 : output(‘A’)

                        68 <= X <80 : output (‘B’)

                        56 <= X

                        45 <= X <56 : output(‘D’)

                        X <45 : output (‘E’)

Selection dengan satu/dua kasus

Sintaks yang digunakan:

                If (kondisi) then {kondisi benar terpenuhi}

                                Aksi 1

                Else {not  kondisi}

                                Aksi 2

Contoh

Algoritma bilangan_negative_positif

{menyatakan suatu bilangan negatif positif}

Deklarasi :

                B : integer

Deskripsi :

                Input (B)              {menerima bilangan B}

                If B <0 then

                                Output (‘bilangan negatif’)

                Else

                                Output (‘bilangan positif’)

Latihan

  1. Tulislah algoritma yang menerima bilangan dan tentukan bilangan tersebut bilangan genap atau ganjil!

Jawab :

Algoritma bilangan_ganjil_genap

{menentukan bilangan ganjil atau genap}

Deklarasi :

                X : integer

Deskripsi :

                Input (X)              {menerima  bilangan X}

                If X mod 2 = 0 then,

                                Output (‘bilangan genap’)

                Else

                                Output (‘bilangan ganjil’)

                End if

  1. Tulislah algoritma yang menerima masukan menit, kemudian konversikan menit tersebut kedalam jam. Jika jam yang dihasilkan lebih dari 5 jam maka cetak bahwa ‘jam lebih dari 5’!

Jawab :

Algoritma konversi_menit_ke_jam

{mengkonversikan menit ke dalam jam}

Deklarasi :

                H, M : integer

Deskripsi :

                Input (M)                                          {menerima masukan menit}

                 H (simbol panah kekiri)     M/60         {mengkonversi menit ke jam}

                If H > 5 then,

                                Output (‘Jam lebih dari 5’)

                Else

                                Output (‘H (jam)’)

                End if

 

  1. ITERATION

Iteration adalah jenis instruksi yang melakukan pengulagan terhadap instruksi yang dijalankan. Sebuah iteration terdiri dari bagian, yaitu :

  1. Kondisi yang menyebabkan perulangan harus berhenti. Kondisi ini dinyatakan dalam ekspresi logika true atau
  2. Aksi yang diulang, tindakan terus menerus diulang selama kondisi memenuhi

Beberapa macam iteration yaitu :

  1. Berdasarkan pencacah

Perulangan berdasarkan pencacah digunaka untuk melakukan pengulangan yang diketahui batas awal dan batas akhir dari pengulangan tersebut. Terdapat dua jenis pengulangan yang digunakan yaitu :

For to do (ascending)

For down to (desecending)

 

  • For to do

Sintaks yang digunakan untuk melakukan pengulangan tersebut adalah :

For (inisialisasi_batas_awal) to (batas_akhir) do

 

Next var

{nilai akan dinaikan sebesar 1}

Contoh :

Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal:

Jika dimasukkan n=1, maka akan ditampilkan deret : 1

Jika dimasukkan n=2, maka akan ditampilkan deret : 1, 2

Contoh algoritma :

Algoritma tulis_deret

{menampilkan deret menggunakan for to do}

Deklarasai :

        N, i : integer

Deskripsi :

        Input(N)              {menerima masukan N yaitu bilangan}

        For i = 1 to N do

                        Output (i, ‘,’) {menampilkan nilai i}

        Next i

  • For downto do

Sintaks yang digunakan untuk melakukan pengulangan tersebut adalah:

For (inisialisasi_batas_akhir) downto (batas_awal) do

 

{nilai akan diturunkan sebesar 1}

Next var

Contoh

Menerima masukan nilai bilanga tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :

Jika dimasukkan n = 1, maka akan ditampilkan deret : 1

Jika dimasukkan n = 2, maka akan ditampilkan deret : 2,1

Contoh algoritma :

Algoritma tulis_deret2

{menampilkan deret menggunakan for downto do}

Deklarasi :

        N, i : integer

Deskripsi :

        Input (N)                     {menerima masukan N yaitu bilangan}

        For i = n downto 1 do

                        Output (i,’,’) {menampilkan nilai i}

        Next i

 

Latihan

  1. Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :

Jika dimasukkan n = 1, maka akan ditampilkan deret : 1

Jika dimasukkan n = 2, maka akan ditampilkan deret : 1, 3

Jika dimasukkan n = 1, maka akan ditampilkan deret : 1, 3, 4

Jika dimasukkan n = N, maka akan ditampilkan deret : 1, 1+2, 1+3, ... ,1+N

Tulislah algoritma untuk persoalan tersebut :

Algoritma tulis_deret_plus1

{menampilkan deret untuk selain angka 1 ditambah 1}

Deklarasi :

        n, i, m : integer

Deskripsi :

        Input (n)

        For i = 1 downto n do

                        If i = 1 then

                                        Output (i,’,’)

                        Else

                          m (simbol panah kekiri)        i + 1

                                        output (m,’,’)

                        End If

        Next i

  1. Berdasarkan kondisi berhenti

Pengulangan dilakukan terus hingga kondisi berhenti. Aksi/tindakan minimal dilakukan sekali. Repeat behenti jika kondisi yang diinginkan sudah terpenuhi. Sintaks yang digunakan:

 

Repeat

 

Until kondisi berhenti {kondisi berhenti bernilai true}

 

Contoh

Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :

Jika dimasukkan n =1, maka akan ditampilkan deret : 1

Jika dimasukkan n =2, maka akan ditampilkan deret : 1, 2

Contoh algoritma :

Algoritma tulis_deret3

{menampilkan deret menggunakan repeat until}

Deklarasi :

        N, i : integer

Deskripsi:

        Input (N)                                 {menerima N yaitu bilangan}

        i (simbol panah kekiri)       1

        repeat

                        output(i,’,’)               {menampilkan nilai i}

                        i (simbol panah kekiri)        i + 1

        until (i>n)

latihan:

  1. Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :

Jika dimasukkan n = 1, maka akan ditampilkan deret : 1

Jika dimasukkan n = 2, maka akan ditampilkan deret : 1,3

Jika dimasukkan n = 3, maka akan ditampilkan deret : 1, 3, 4

Jika dimasukkan n = N, maka akan ditampilkan deret : 1, 1+2, 1+3,...,1+N

Tulislah algoritma untuk persoalan tersebut :

Algoritma tulis_deret_plus1

{menampilkan deret menggunakan repeat until}

Deklarasi :

        I, m, n : integer

Deskripsi :

        Input (n)                             {menerima n yaitu bilangan}

        I (simbol panah kekiri)      1

Repeat

                If I = 1 then

                                Output(I,’,’)

                Else

                  m (simbol panah kekiri)        I + 1

                                output(m,’,’)

                End If

I (simbol panah kekiri)     I + 1

Until (I>n)

 

  1. Berdasarkan kondisi pengulangan

Pengulangan akan dilakukan jika kondisi pengulangan terpenuhi. Sintaks dasar yang digunakan :

While (kondisi_pengulangan) do

 

{kondisi berhenti berlawanan dari kondisi pengulangan}

Contoh :

Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :

Jika dimasukkan n =1, maka akan ditampilkan deret : 1

Jika dimasukkan n =2, maka akan ditampilkan deret : 1, 2

Contoh algoritma :

Algoritma tulis_deret4

{menampilkan deret menggunakan while do}

Deklarasi :

        N, i : integer

Deskripsi :

        Input(N)                                                   { menerima n yaitu bilangan}

        i  (simbol panah kekiri)   1

        while (i <= n) do

                        output(i,’,’)                                {menampilkan nilai i}

                        i  (simbol panah kekiri)       i + 1

latihan :

  1. Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :

Jika dimasukkan n = 1, maka akan ditampilkan deret : 1

Jika dimasukkan n = 2, maka akan ditampilkan deret : 1,3

Jika dimasukkan n = 3, maka akan ditampilkan deret : 1, 3, 4

Jika dimasukkan n = N, maka akan ditampilkan deret : 1, 1+2, 1+3,...,1+N

Tulislah algoritma untuk persoalan tersebut :

Algoritma tulis_deret

{menampilkan deret menggunakan while do}

Deklarasi :

        N, i, m : integer

Deskripsi :

        Input (N) {menerima N yaitu bilangan}

        i  (simbol panah kekiri)    1

        while (i <= N) do

                        if i = 1 then

                                        output (i,’,’)

                        else

                          m  (simbol panah kekiri)    i + 1

                                        output (m,’,’)

        i  (simbol panah kekiri)    i + 1

 

 rekan rekan dapat mendownload materinya di bawah ini

download materi struktur algoritma

 Semoga artikel/materi pembelajaran ini bermanfaat untuk rekan rekan

jika bermanfaat silahkan di share

Terima Kasih

SALAMPERUBAHAN

#berbagiitumenyenangkan

Follow Us

Tags

20182019202020214glAdobe XDAfter Event After Event MnG 2020AFTERGLOWAkademik HimasisaktivasiAktivasialgoritmaalgoritmaalgoritma pemrogramanangketArrayArtificialArtikelAugmented RealityAutoCADAutoCAD2015autonumberBack End Developerback end languageBahasa Pemrogramanbahasa pemrogramanbayar kuliahbelajar vbberitaBig-Datablockchainbossbuka bersamabukber himasisCerpencintaciscocisco packet tracercodeigniterColouringcontainercoronacovid19Criptocurencycsscsscuci tangancurriculum vitaecv yang baikCyber CrimeCYBER SECURITYCyber SecurityDampak AIdasar algoritmadasar jaringandatadata analystData DiriDatabasedatabasedehidrasidockerDownloaddownloadEcommasterEcommerceEntrepreneurera aietika dan privasievent ExpressJsfakta Figmaflowchartflutterfolder projectFrameworkFront EndFront End DevelopergaikindoGambar 2dGambar 3dGitGitHubharapanhello worldhimasisHIMASIS himasis artikelhtmlhtmlimpianINDEXS2021Industri OtomotifInformasiinspirasiInstalisasi NodeJS InstallinstallinstallIntelligenceiterationjadwal imsakiyahJakartaJAKARTAjaringanjaringanjaringan komputerjavaJavajavascriptJDKJoin MnG 2020JREKAHIM dan WAKAHIMkarakteristikKeamanan dan Privasikeamanan siberkebahagiaankebaikankegiatankerenkinemasterkode otomatisKomunikasi Serverkonfigurasi filekonsep cbdckrs onlinekstkunjungan pabrikleaderLebaranLibrarymachine learningMading HimasismagentamakananmakrabManfaat big dataMarkup LanguageMateri PembelajaranMedia VirtualBoxMedia VirtualBoxmeet and greetmeet and greet 2018meet and greet 2019Meet and Greet 2020meganthropusmelamar kerjaMethodsmicrosoft access 2010minumanmobil pintarmongoDBmudikmudik amanmvcnavigasi etika ainavigasi mobil pintarnetbeansngodingOnlinepreneurshiporacleorracleOS Windowsosi layerotomotifPanduan Lengkappaslonpaslon nomer 2pelatihan 2Pelatihan BPHPelatihan UIUXpelatihan1peluang data analystpemilu HIMASISpemimpinpemimpin baikpemrogramanpencarianpendaftaranpengenalan jaringanpengisian angketPeriode 2020 - 2021Periode 2021-2022Periode 2022 - 2023Periode 2023-2024Periode 2024 - 2025perkembanganphpphpPHP VS NodejspklPoliteknikPOLITEKNIK STMI potensi blockchainProgramming LanguageProsedurproses bisnispseudecodepuasapuasapycharmpythonpytrainramadanramadan 1441hramadhanRansomwarerequestresponseRESTful APIresumeRFIDRoutingrun endpoint expressrun server expressschScripting Languagesearch barSecuritySecurity Attacksejarahselectionself driving carSemester Pendekseminarseminar umumseminar2018senisensor mobil pintarsequenceSetup ProjetSistem InformasiSistem Informasiskill data analystspectrumSQL vs NoSQLSSLstmistok otomatisstruktur fileStruktur OrganisasiStudy Clubstudy clubTableTableautantangan aiTantangan Era DigitalTechnopreneurshipteknologiteknologi cerdasteknologi informasiteknologi informasiterhebatterpilihpaslonnomer2TipsTopologi JaringanTradisi LebarantriggerTrikTutorialtutorialTutorialtutorialTwiterTwiter 2020Twiter 2021Twiter 2021Twiter AFTERGLOWTwiter AGENCYtwiter2019uang digitalUbuntuulangtahunultahhimasisVirusvirus komputervisual basicvisual studiowebWeb DevelopmentWebinarWEBINAR HIMASISWebsitewhich is the best Windows 10windows 7Windows XPwirausahaYourXperienceyoutube