SlideShare ist ein Scribd-Unternehmen logo
1 von 77
MATERI PELATIHAN BERBASIS KOMPETENSI
     SEKTOR TEKNOLOGI INFORMASI DAN
                         KOMUNIKASI



             MEMBUAT ALGORITMA
             PEMROGRAMAN DASAR
                    TIK.PR02.001.01




                   BUKU INFORMASI




         DEPARTEMEN TENAGA KERJA DAN TRANSMIGRASI R.I.
DIREKTORAT JENDERAL PEMBINAAN PELATIHAN DAN PRODUKTIVITAS
             Jl. Jend. Gatot Subroto Kav.51 Lt.7.B Jakarta Selatan
Materi Pelatihan Berbasis Kompetensi                                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                              TIK.PR02.001.01


                                            DAFTAR ISI




 Daftar IsiHal
            2


  BAB I     PENGANTAR
            5


            1.1.   Konsep       Dasar         Pelatihan           Berbasis          Kompetensi
                     5
            1.2.   Penjelasan                                                                      Modul
                     5
            1.3.   Pengakuan                Kompetensi                     Terkini                 (RCC)
                     7
            1.4.   Pengertian-pengertian                                                           Istilah
                     8


  BAB II STANDAR                                                                        KOMPETENSI
            10


            2.1.   Peta                   Paket                         Pelatihan
                     10
            2.2.   Pengertian                     Unit                      Standar
                     10
            2.3.   Unit         Kompetensi                    yang               Dipelajari
                     10
                     2.3.1.     Judul                                  Unit
                                ............................................................................
                                11


Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                                            Halaman: 2 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                              TIK.PR02.001.01


                     2.3.2.     Kode                                   Unit
                                ............................................................................
                                11
                     2.3.3.     Deskripsi                                 Unit
                                ............................................................................
                                11
                     2.3.4.     Elemen                             Kompetensi
                                ............................................................................
                                11
                     2.3.5.     Kriteria                   Unjuk                    Kerja
                                ............................................................................
                                11
                     2.3.6.     Batasan                               Variabel
                                ............................................................................
                                13
                     2.3.7.     Panduan                               Penilaian
                                ............................................................................
                                13
                     2.3.8.     Kompetensi                                 Kunci
                                ............................................................................
                                15


  BAB III STRATEGI              DAN                 METODE                    PELATIHAN
            16


            3.1.   Strategi                                 Pelatihan
                     16
            3.2.   Metode                                   Pelatihan
                     17
  BAB IV MATERI                      UNIT                         KOMPETENSI
            18




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                                            Halaman: 3 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                              TIK.PR02.001.01


            4.1              Tujuan                Instruksional                  Umum                  ..
            18
            4.2              Tujuan                Instruksional                 Khusus                 ..
            18
            4.3 Apa itu Algoritma Pemrograman .
            19
            4.4 Tipe Data, Variabel dan Konstanta ....................................................21
             4.4.1 Tipe Data ....................................................................................22
                       4.4.1.1 Tipe Data Dasar .............................................................22
                       4.4.1.2 Tipe Data Bentukan ........................................................28
                       4.4.2 Variabel ...........................................................................32
                       4.4.3 Konstanta .........................................................................35
            4.5 Alur Logika Program .........................................................................35
                         4.5.1 Proses Sekuensial ...........................................................35
                         4.5.2 Proses Percabangan ........................................................37
                                 4.5.2.1 Proses Percabangan Tunggal ...............................38
                                 4.5.2.2 Proses Percabangan Ganda .................................39
                                 4.5.2.3 Proses Percabangan Lebih Dari 2 .........................41
                                 4.5.2.4 Struktur Case .....................................................42
                         4.5.3 Proses Perulangan ..........................................................43
                                 4.5.3.1 Struktur WHILE – DO ..........................................44
                                 4.5.3.2 Struktur Do - While / Repeat – Until ....................47
                                 4.5.3.3 Struktur FOR ......................................................49
            4.6 Menerapkan Pengelolaan Array ........................................................51
                         4.6.1 Pengenalan Array ...........................................................51
                         4.6.2 Array N Dimensi ..............................................................56
                         4.6.3 Algoritma Pengurutan Data (Sorting Data) .......................59
                         4.6.4 Algoritma Pencarian Data (Searching Data) ......................61
            4.7 Pengelolaan File ...............................................................................66
                         4.7.1 Membuka File .................................................................68
                         4.7.2 Memanipulasi File ...........................................................69

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                                           Halaman: 4 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                                Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                          TIK.PR02.001.01


                      4.7.3 Menutup File ..................................................................71
  BAB V     SUMBER-SUMBER           YANG        DIPERLUKAN            UNTUK        PENCAPAIAN
  KOMPETENSI
            73


    5.1.    Sumber                       Daya                         Manusia
                 73
    5.2.    Sumber-sumber                                 Perpustakaan
                 74
    5.3.    Daftar            Peralatan/Mesin                   dan               Bahan
                 75


    DAFTAR                                                                                 PUSTAKA
                 76




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                                      Halaman: 5 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                        Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                  TIK.PR02.001.01


                                             BAB I
                                         PENGANTAR


    1.1.    Konsep Dasar Pelatihan Berbasis Kompetensi
  • Apakah pelatihan berdasarkan kompetensi?
      Pelatihan berdasarkan kompetensi adalah pelatihan yang memperhatikan
      pengetahuan, keterampilan dan sikap yang diperlukan di tempat kerja agar dapat
      melakukan pekerjaan dengan kompeten. Standar Kompetensi dijelaskan oleh
      Kriteria Unjuk Kerja.


   • Apakah artinya menjadi kompeten ditempat kerja?
      Jika Anda kompeten dalam pekerjaan tertentu, Anda memiliki seluruh
      keterampilan, pengetahuan dan sikap yang perlu untuk ditampilkan secara
      efektif ditempat kerja, sesuai dengan standar yang telah disetujui.


  1.2. Penjelasan Modul
                  Modul ini dikonsep agar dapat digunakan pada proses Pelatihan
      Konvensional/Klasikal dan Pelatihan Individual/Mandiri. Yang dimaksud dengan
      Pelatihan    Konvensional/Klasikal,    yaitu      pelatihan   yang   dilakukan     dengan
      melibatkan bantuan seorang pembimbing atau guru seperti proses belajar
      mengajar sebagaimana biasanya dimana materi hampir sepenuhnya dijelaskan
      dan disampaikan pelatih/pembimbing yang bersangkutan.
             Sedangkan yang dimaksud dengan Pelatihan Mandiri/Individual adalah
      pelatihan yang dilakukan secara mandiri oleh peserta sendiri berdasarkan materi
      dan sumber-sumber informasi dan pengetahuan yang bersangkutan. Pelatihan
      mandiri cenderung lebih menekankan pada kemauan belajar peserta itu sendiri.
      Singkatnya pelatihan ini dilaksanakan peserta dengan menambahkan unsur-
      unsur atau sumber-sumber yang diperlukan baik dengan usahanya sendiri
      maupun melalui bantuan dari pelatih.




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                             Halaman: 6 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                      Kode Modul
       Sektor Telematika Sub Sektor Programmer Komputer                TIK.PR02.001.01


  1.2.1      Desain Modul
  Modul ini didisain untuk dapat digunakan pada Pelatihan Klasikal dan Pelatihan
  Individual/mandiri :
  • Pelatihan klasikal adalah pelatihan yang disampaiakan oleh seorang pelatih.
  • Pelatihan individual/mandiri adalah pelatihan yang dilaksanakan oleh peserta
       dengan menambahkan unsur-unsur/sumber-sumber yang diperlukan dengan
       bantuan dari pelatih.


  1.2.2. Isi Modul
  a.       Buku Informasi
           Buku informasi ini adalah sumber pelatihan untuk pelatih maupun peserta
           pelatihan.
  b.       Buku Kerja
           Buku kerja ini harus digunakan oleh peserta pelatihan untuk mencatat setiap
           pertanyaan dan kegiatan praktik baik dalam Pelatihan Klasikal maupun
           Pelatihan Individual / mandiri.
           Buku ini diberikan kepada peserta pelatihan dan berisi :
                  Kegiatan-kegiatan yang akan membantu peserta pelatihan untuk
                  mempelajari dan memahami informasi.
           • Kegiatan pemeriksaan yang digunakan untuk memonitor pencapaian
              keterampilan peserta pelatihan.
           • Kegiatan penilaian untuk menilai kemampuan peserta pelatihan dalam
              melaksanakan praktik kerja.


  c.       Buku Penilaian
           Buku penilaian ini digunakan oleh pelatih untuk menilai jawaban dan
           tanggapan peserta pelatihan pada Buku Kerja dan berisi :
           • Kegiatan-kegiatan       yang    dilakukan    oleh   peserta   pelatihan     sebagai
              pernyataan keterampilan.
           • Metode-metode yang disarankan dalam proses penilaian keterampilan
              peserta pelatihan.

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                             Halaman: 7 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                              Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                        TIK.PR02.001.01


          • Sumber-sumber yang digunakan oleh peserta pelatihan untuk mencapai
             keterampilan.
          • Semua jawaban pada setiap pertanyaan yang diisikan pada Buku Kerja.
          • Petunjuk bagi pelatih untuk menilai setiap kegiatan praktik.
          • Catatan pencapaian keterampilan peserta pelatihan.


  1.2.3. Pelaksanaan Modul
          Pada pelatihan klasikal, pelatih akan :
          • Menyediakan Buku Informasi yang dapat digunakan peserta pelatihan
             sebagai sumber pelatihan.
          • Menyediakan salinan Buku Kerja kepada setiap peserta pelatihan.
          • Menggunakan         Buku      Informasi      sebagai      sumber        utama       dalam
             penyelenggaraan pelatihan.
          • Memastikan setiap peserta pelatihan memberikan jawaban / tanggapan
             dan menuliskan hasil tugas praktiknya pada Buku Kerja.


          Pada Pelatihan individual / mandiri, peserta pelatihan akan :
          • Menggunakan Buku Informasi sebagai sumber utama pelatihan.
          • Menyelesaikan setiap kegiatan yang terdapat pada buku Kerja.
          • Memberikan jawaban pada Buku Kerja.
          • Mengisikan hasil tugas praktik pada Buku Kerja.
          • Memiliki tanggapan-tanggapan dan hasil penilaian oleh pelatih.


    1.3Pengakuan Kompetensi Terkini (RCC)
          • Apakah      Pengakuan      Kompetensi        Terkini    (Recognition        of     Current
             Competency).
             Jika Anda telah memiliki pengetahuan dan keterampilan yang diperlukan
             untuk elemen unit kompetensi tertentu, Anda dapat mengajukan
             pengakuan       kompetensi     terkini     (RCC).     Berarti     Anda     tidak    akan
             dipersyaratkan untuk belajar kembali.



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                                   Halaman: 8 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                   Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer             TIK.PR02.001.01


          •   Anda mungkin sudah memiliki pengetahuan dan keterampilan, karena
              Anda telah :
          a. Bekerja dalam suatu pekerjaan yang memerlukan suatu pengetahuan dan
              keterampilan yang sama atau
          b. Berpartisipasi dalam pelatihan yang mempelajari kompetensi yang sama
              atau
          c. Mempunyai pengalaman lainnya yang mengajarkan pengetahuan dan
              keterampilan yang sama.


    1.4Pengertian-pengertian Istilah
          Profesi
          Profesi adalah suatu bidang pekerjaan yang menuntut sikap, pengetahuan
          serta keterampilan/keahlian kerja tertentu yang diperoleh dari proses
          pendidikan, pelatihan serta pengalaman kerja atau penguasaan sekumpulan
          kompetensi tertentu yang dituntut oleh suatu pekerjaan/jabatan.


          Standardisasi
          Standardisasi adalah proses merumuskan, menetapkan serta menerapkan
          suatu standar tertentu.


          Penilaian / Uji Kompetensi
          Penilaian atau Uji Kompetensi adalah proses pengumpulan bukti melalui
          perencanaan, pelaksanaan dan peninjauan ulang (review) penilaian serta
          keputusan     mengenai      apakah     kompetensi   sudah   tercapai      dengan
          membandingkan bukti-bukti yang dikumpulkan terhadap standar yang
          dipersyaratkan.


          Pelatihan
          Pelatihan adalah proses pembelajaran yang dilaksanakan untuk mencapai
          suatu kompetensi tertentu dimana materi, metode dan fasilitas pelatihan



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                        Halaman: 9 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                  Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer            TIK.PR02.001.01


          serta lingkungan belajar yang ada terfokus kepada pencapaian unjuk kerja
          pada kompetensi yang dipelajari.


          Kompetensi
          Kompetensi adalah kemampuan seseorang untuk menunjukkan aspek sikap,
          pengetahuan dan keterampilan serta penerapan dari ketiga aspek tersebut
          ditempat kerja untuk mwncapai unjuk kerja yang ditetapkan.


          Standar Kompetensi
          Standar kompetensi adalah standar yang ditampilkan dalam istilah-istilah hasil
          serta memiliki format standar yang terdiri dari judul unit, deskripsi unit,
          elemen kompetensi, kriteria unjuk kerja, ruang lingkup serta pedoman bukti.


          Sertifikat Kompetensi
          Adalah pengakuan tertulis atas penguasaan suatu kompetensi tertentu
          kepada seseorang yang dinyatakan kompeten yang diberikan oleh Lembaga
          Sertifikasi Profesi.


          Sertifikasi Kompetensi
          Adalah proses penerbitan sertifikat kompetensi melalui proses penilaian / uji
          kompetensi.




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                      Halaman: 10 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                       Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                 TIK.PR02.001.01


                                              BAB II
                                  STANDAR KOMPETENSI


  2.1.    Peta Paket Pelatihan
          Modul yang sedang Anda pelajari ini adalah untuk mencapai satu unit
          kompetensi, yang termasuk dalam satu paket pelatihan, yang terdiri atas
          unit-unit kompetensi berikut:
          2.1.1.     TIK.PR2.001.01           Membuat Algoritma Pemrograman Dasar
          2.1.2.     OP02.003.01A Mengoperasikan Sistem Operasi Microsoft Windows
          2.1.3.     OP02.001.01        Mengoperasikan Komputer Personal Yang Berdiri
                     Sendiri (PC Stand alone)


  2.2.    Pengertian Unit Standar Kompetensi
          Apakah Standar Kompetensi?
          Setiap Standar Kompetensi menentukan :
          a. Pengetahuan       dan      keterampilan    yang   diperlukan   untuk    mencapai
               kompetensi.
          b.   Standar yang diperlukan untuk mendemonstrasikan kompetensi.
          c.   Kondisi dimana kompetensi dicapai.

          Apa yang akan Anda pelajari dari Unit Kompetensi ini?
          Anda akan mempelajari tentang Algoritma Pemrograman dasar.

          Berapa lama Unit Kompetensi ini dapat diselesaikan?
          Pada     sistem   pelatihan    berdasarkan    kompetensi,   fokusnya      ada   pada
          pencapaian kompetensi, bukan pada lamanya waktu. Namun diharapkan
          pelatihan ini dapat dilaksanakan dalam jangka waktu tiga sampai tujuh hari.
          Pelatihan ini dijutukan bagi semua user terutama yang tugasnya berkaitan
          dengan programming, seperti operator, programmer, staff support, dan staff
          admin.




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                            Halaman: 11 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                  Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer            TIK.PR02.001.01


          Berapa banyak/kesempatan yang Anda miliki untuk mencapai
          kompetensi?
          Jika Anda belum mencapai kompetensi pada usaha/kesempatan pertama,
          Pelatih Anda akan mengatur rencana pelatihan dengan Anda. Rencana ini
          akan memberikan Anda kesempatan kembali untuk meningkatkan level
          kompetensi Anda sesuai dengan level yang diperlukan.
          Jumlah maksimum usaha/kesempatan yang disarankan adalah 3 (tiga) kali.


  2.3.    Unit Kompetensi yang Dipelajari
          Dalam sistem pelatihan, Standar Kompetensi diharapkan menjadi panduan
          bagi peserta pelatihan untuk dapat :
          •   mengidentifikasikan apa yang harus dikerjakan peserta pelatihan.
          •   memeriksa kemajuan peserta pelatihan.
          •   menyakinkan bahwa semua elemen (sub-kompetensi) dan criteria unjuk
              kerja telah dimasukkan dalam pelatihan dan penilaian.




  KODE UNIT : TIK.PR02.001.01


  JUDUL UNIT : Membuat Algoritma Pemrograman Dasar


  DESKRIPSI UNIT :


  Unit ini menentukan kompetensi yang diperlukan untuk mempelajari algoritma yang
  akan diterapkan pada program, tidak tergantung bahasa pemrograman yang akan
  digunakan. Algoritma pemrograman merupakan materi dasar yang harus dikuasai
  oleh setiap programer.


  Untuk tingkat dasar ini penekanan kepada penguasaan algoritma dengan struktur
  data yang sederhana (melibatkan variabel statik)



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                      Halaman: 12 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                           Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                     TIK.PR02.001.01




      ELEMEN KOMPETENSI                     KRITERIA UNJUK KERJA


      1       Menjelaskan varian dan
              invarian                      1.1 Tipe    data,     variabel,     konstanta      dan
                                                parameter       yang     berlaku   umum       pada
                                                pemrograman dijelaskan.


                                            1.2 Tipe data baru dan tipe data yang ada
                                                dibuat dan dijelaskan pemanfaatannya.


                                            1.3 Pemakaian nama pada tipe data, variabel,
                                            konstanta dan parameter dijelaskan.


      2       Membuat      alur    logika
              pemrograman                   2.1 Algoritma        dengan       skema         program
                                                sekuensial dibuat.


                                            2.2 Algoritma        dengan       skema         program
                                                percabangan dibuat.


                                            2.3 Algoritma        dengan       skema         program
                                                pengulangan dibuat.




      3       Menerapkan pengelolaan
              array                         3.1 Algoritma       dibuat    dengan      array    atau
                                                dimensi.


                                            3.2 Algoritma pencarian data dan algoritma


Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                              Halaman: 13 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                    Kode Modul
       Sektor Telematika Sub Sektor Programmer Komputer              TIK.PR02.001.01




                                                pengurutan data (sorting) dibuat dengan
                                                menggunakan array.



       4       Memelihara       pekerjaan
               secara praktis               4.1 Algoritma program penulisan data dan
                                                pembacaan     data       ke     dalam      media
                                                penyimpanan data berupa hard disk, floppy
                                                disk atau lainnya dibuat dan ditunjukkan.


                                            4.2 Algoritma    program          pembacaan       dan
                                                penulisan data dalam file dibuat secara
                                                sekuensial dan indeks.




   BATASAN VARIABEL


   1. Unit ini berlaku untuk seluruh sektor teknologi informasi dan komunikasi.
   2. Menjaga etika bersifat internal pada bidang teknologi informasi dan komunikasi.




  PANDUAN PENILAIAN


  1.       Pengetahuan            dan         keterampilan        penunjang               untuk
  mendemontrasikan kompetensi, memerlukan bukti keterampilan dan
  pengetahuan di bidang berikut ini :


Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                              Halaman: 14 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                 Kode Modul
       Sektor Telematika Sub Sektor Programmer Komputer           TIK.PR02.001.01




           1.1    Pengetahuan dasar :
                  1.1.1 Matematika dasar dan matematika logika
                  1.1.2 Flowchart dan dasar pemrograman
           1.2    Keterampilan dasar
                  Mengoperasikan sistem komputer


  2.     Konteks penilaian


  Kompetensi harus diujikan di tempat kerja atau di tempat lain secara teori dengan
  kondisi kerja sesuai dengan keadaan normal.


  3.     Aspek penting penilaian


  Aspek yang harus diperhatikan:


           3.1    Kemampuan mengidentifikasi varian dan invarian yang berlaku umum
                  pada pemrograman.
           3.2    Kemampuan mengidentifikasi alur logika pemrograman sekuensial dan
                  membuat algoritma.
           3.3    Kemampuan mengidentifikasi pengelolaan array pada program.
           3.4    Kemampuan menyimpan program ke dalam media penyimpanan.
           3.5    Kemampuan membuat program membaca dan menulis data ke dalam
                  file secara sekuensial dan indeks.


  4.      Kaitan dengan unit-unit lainnya
  0
           4.1    Unit ini didukung oleh pengetahuan dan keterampilan dalam unit-unit
                  kompetensi yang berkaitan dengan dasar-dasar teknologi informasi
                  yaitu mengoperasikan PC dan sistem informasi.

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                      Halaman: 15 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer              TIK.PR02.001.01




          4.2    Pengembangan pelatihan untuk memenuhi persyaratan dalam unit ini
                 perlu dilakukan dengan hati-hati. Untuk pelatihan pra kejuruan umum,
                 institusi harus menyediakan pelatihan yang mempertimbangkan
                 serangkaian konteks industri seutuhnya tanpa bias terhadap sektor
                 tertentu. Batasan variabel akan membantu dalam hal ini. Untuk sektor
                 tertentu/khusus,     pelatihan   harus   disesuaikan   untuk   memenuhi
                 kebutuhan sektor tersebut.


  Kompetensi Kunci


    No   Kompetensi Kunci Dalam Unit ini                                    Tingkat
    1    Mengumpulkan, mengorganisir dan menganalisa informasi              1
    2    Mengkomunikasikan ide-ide dan informasi                            2
    3    Merencanakan dan mengorganisir aktivitas-aktivitas                 2
    4    Bekerja dengan orang lain dan kelompok                             1
    5    Menggunakan ide-ide dan teknik matematika                          3
    6    Memecahkan masalah                                                 2
    7    Menggunakan teknologi                                              1




                                           BAB III
                         STRATEGI DAN METODE PELATIHAN


  3.1.    Strategi Pelatihan
          Belajar dalam suatu sistem Berdasarkan Kompetensi berbeda dengan yang
  sedang “diajarkan” di kelas oleh Pelatih. Pada sistem ini Anda akan bertanggung
  jawab terhadap belajar Anda sendiri, artinya bahwa Anda perlu merencanakan



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                        Halaman: 16 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi               Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer         TIK.PR02.001.01


  belajar Anda dengan Pelatih dan kemudian melaksanakannya dengan tekun sesuai
  dengan rencana yang telah dibuat.


  Persiapan/perencanaan
  a. Membaca bahan/materi yang telah diidentifikasi dalam setiap tahap belajar
      dengan tujuan mendapatkan tinjauan umum mengenai isi proses belajar Anda.
  b. Membuat catatan terhadap apa yang telah dibaca.
  c. Memikirkan bagaimana pengetahuan baru yang diperoleh berhubungan dengan
      pengetahuan dan pengalaman yang telah Anda miliki.
  d. Merencanakan aplikasi praktik pengetahuan dan keterampilan Anda.


  Permulaan dari proses pembelajaran
  a. Mencoba mengerjakan seluruh pertanyaan dan tugas praktik yang terdapat pada
      tahap belajar.
  b. Merevisi dan meninjau materi belajar agar dapat menggabungkan pengetahuan
      Anda.


  Pengamatan terhadap tugas praktik
  a. Mengamati keterampilan praktik yang didemonstrasikan oleh Pelatih atau orang
      yang telah berpengalaman lainnya.
  b. Mengajukan pertanyaan kepada Pelatih tentang konsep sulit yang Anda
      temukan.




  Implementasi
  a. Menerapkan pelatihan kerja yang aman.
  b. Mengamati indicator kemajuan personal melalui kegiatan praktik.
  c. Mempraktikkan keterampilan baru yang telah Anda peroleh.


  Penilaian
  Melaksanakan tugas penilaian untuk penyelesaian belajar Anda.

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                  Halaman: 17 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                   Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer             TIK.PR02.001.01




  3.2.    Metode Pelatihan
          Terdapat tiga prinsip metode belajar yang dapat digunakan. Dalam beberapa
  kasus, kombinasi metode belajar mungkin dapat digunakan.


  Belajar secara mandiri
  Belajar secara mandiri membolehkan Anda untuk belajar secara individual, sesuai
  dengan kecepatan belajarnya masing-masing. Meskipun proses belajar dilaksanakan
  secara bebas, Anda disarankan untuk menemui Pelatih setiap saat untuk
  mengkonfirmasikan kemajuan dan mengatasi kesulitan belajar.


  Belajar Berkelompok
  Belajar berkelompok memungkinkan peserta untuk dating bersama secara teratur
  dan berpartisipasi dalam sesi belajar berkelompok. Walaupun proses belajar memiliki
  prinsip sesuai dengan kecepatan belajar masing-masing, sesi kelompok memberikan
  interaksi antar peserta, Pelatih dan pakar/ahli dari tempat kerja.


  Belajar terstruktur
  Belajar terstruktur meliputi sesi pertemuan kelas secara formal yang dilaksanakan
  oleh Pelatih atau ahli lainnya. Sesi belajar ini umumnya mencakup topic tertentu.




                                            BAB IV
                               MATERI UNIT KOMPETENSI
                   MEMBUAT ALGORITMA PEMROGRAMAN DASAR




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                       Halaman: 18 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                            Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                      TIK.PR02.001.01




             4.1 Tujuan Instruksional Umum

            o Siswa mampu mengerti tentang apa itu Algoritma Pemrograman.
            o Siswa mampu mengerti dasar – dasar Algoritma Pemrograman.
            o Siswa mampu berpikir secara logis dalam menyelesaikan masalah.
            o Siswa mampu menganalisa masalah dan menciptakan solusti untuk
               menyelesaikan sebuah masalah



             4.2 Tujuan Instruksional Khusus

            o Siswa dapat mengetahui seberapa pentingnya Algoritma Pemrograman
               sebagai dasar untuk mempelajari pemrograman lanjut.
            o Siswa dapat mengerti dasar – dasar pemikiran dalam menyelesaikan
               masalah dalam pemrograman.
            o Siswa dapat mengerti tentang logika dasar pemrograman.
            o Siswa     dapat    mengerti    tentang    tipe    –   tipe     data    dasar    dalam
               pemrograman.
            o Siswa dapat memahami tentang alur program meliputi sekuensial,
               percabangan dan perulangan.
            o Siswa dapat mengerti tentang dasar – dasar struktur data.
            o Siswa     dapat    memahami      mengenai        dasar   –     dasar    file   beserta
               pengelolaannya.




  Dasar – Dasar Pemrograman


  4.3    Apa itu Algoritma Pemrograman ?

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                               Halaman: 19 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                   Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer             TIK.PR02.001.01


       Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang
       disusun secara sistematis. Berdasarkan defisini algoritma diatas maka dapat
       diartikan sebuah Algoritma Pemrograman adalah suatu urutan yang logis dan
       sistematis yang digunakan untuk menyelesaikan sebuah penyususan program
       komputer.


       Dasar – dasar dari algoritma pemrograman dibagi menjadi 3 bagian, yaitu
           1 Proses
           2 Instruksi
           3 Aksi


       Pada dasarnya sebuah algoritma adalah deskripsi pelaksanaan suatu proses
       yang disusu berdasarkan sederetan langkah instruksi yang logis. Tiap langkah
       instruksi tersebut melakukan suatu tindakan (aksi) yang akan menghasilkan
       sejumlah operasi yang bersesuaian dengan aksi tersebut. Hasil yang diperoleh
       dari pengerjaan suatu aksi tersebut dapat dibandingkan berdasarkan keadaan
       sebelum aksi dimulai dan keadaan pada saat aksi selesai dikerjakan. (Lihat
       contoh dibawah)
       .
       Contoh kasus :
       Terdapat 2 Gelas A dan B, gelas A berisi warna merah dan gelas B berisi warna
       biru. Bagaimana memindahkan isi dari gelas A ke B dan gelas B ke A ?


       Deskripisi :
       Keadaan awal : Gelas A berisi warna merah dan gelas B berisi warna biru.
       Aksi :


                          -
                          -   Pindahkan isi dari gelas A ke dalam gelas C
                          -   Pindahkan isi gelas B ke dalam gelas A
                          -   Pindahkan isi gelas C ke dalam gelas A.

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                        Halaman: 20 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer              TIK.PR02.001.01




        Keadaan akhir : Gelas A berisi warna biru dan gelas B berisi warna merah.
        Contoh diatas memperlihatkan urutan yang logis dalam menyelesaikan suatu
        masalah / memperoleh hasil yang diinginkan.


        Struktur Dasar Algortima
          1. Runtunan (Sequence)
          2. Pemilihan (Selection)
          3. Pengulangan (Repetition)


        Runtunan
        Runtunan (Sequence) terdiri dari satu atau lebih instruksi yang akan dikerjakan
        secara berurutan sesuai dengan urutan penulisannya. Urutan instruksi
        menentukan keadaan akhir algoritma, bila urutannya diubah akan memberikan
        hasil yang berbeda.


        Contoh :
        Instruksi 1
        Instruksi 2
        Instruksi 3


        Pemilihan
        Pemilihan (Selection) adalah suatu kondisi dimana sebuah instruksi dijalankan
        apabila kondisi tertentu dipenuhi. Ini akan mengakibatkan tidak semua instruksi
        akan dijalankan sesuai urutan dan tidak semua instruksi akan dijalankan.




        Contoh :
        Jika nilai a lebih kecil dari 10 maka
                       Cetak nilai a sebanyak 10 kali ke layar monitor

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                         Halaman: 21 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                 Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer           TIK.PR02.001.01




        Pengulangan
        Salah satu kelebihan komputer adalah kemampuan untuk mengerjakan proses
        yang sama berulang kali tanpa mengenal lelah. Ini akan mengakibatkan sebuah
        instruksi mungkin dijalankan beberapa kali sebelum menjalankan instruksi yang
        lain.


        Contoh :
        Tuliskan angka dari 1 sampai 100


        Angka = 0
        Repeat
                       Tuliskan angka
                       Tambahkan nilai angka dengan 1
        Until angka = 100


        Pada praktenya, ketiga elemen itu dapat dikombinasikan menjadi sekumpulan
        instruksi yang membangun sebuah program komputer. Namun pemahaman
        tentang dasar dari masing – masing elemen sangatlah penting.




  4.4    Tipe data, Variabel dan Konstanta
        Dalam pembahasan mengenai pengertian dan dasar – dasar dari algoritma
        pemrograman telah dijelaskan mengenai urutan kerja dari sekumpulan
        instruksi yang digunakan untuk memecahkan sebuah permasalahan.
        Pada pembahasan ini kita akan mempelajari beberapa hal, antara lain :




        4.4.1 Tipe Data
        Pada dasarnya sebuah program komputer bekerja dengan memanipulasi
        obyek (data) di dalam memori. Obyek yang akan diprogram bermacam –

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                    Halaman: 22 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                     Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer               TIK.PR02.001.01


          macam jenis dan tipenya, misalnya nilai numerik, karakter, string dan
          rekaman (record). Tipe data terbagi menjadi beberapa bagian, antara lain :


              4.4.1.1      Tipe Data Dasar


                  A. Tipe Logika / Bilangan Logika
                  Tipe data ini hanya memiliki 2 nilai saja, benar atau salah atau 0 atau
                  1. Nilai 0 ini akan melambangkan salah dan 1 akan melambangkan
                  benar.      Tipe data ini biasanya digunakan untuk operasi – operasi
                  logika (logical operation).
                  Operasi logika ini akan menghasilkan nilai dalam ranah tipe boolean,
                  yaitu betul atau salah. Operasi yang dapat digunakan untuk operasi
                  logika adalah : not, and, or dan xor.
                  Dibawah ini akan diberikan contoh pemakaiannya :


                  Jika a dan b adalah peubah (variabel) yang bertipe boolean / logika
                  maka hasil variabel a dan b dengan operator boolean tersebut
                  diberikan berdasarkan tabel kebenaran berikut :
  A                   B                  A and B          A or B           A xor B
  True                True               True             true             False
  True                false              false            True             True
  False               True               false            True             True
  False               False              False            False            False


                  B. Tipe Bilangan Bulat
                  Tipe ini adalah tipe yang sudah kita kenal dengan baik dalam
                  kehidupan sehari – hari. Tipe data ini mempunyai nilai yang tidak
                  mengandung pecahan desimal, misalnya : 34, 8, 1200, 10 dan
                  seterusnya. Nama tipe dari bilangan bulat adalah integer. Secara
                  teori, tipe bilangan bulat memiliki ranah nilai yang tidak terbatas
                  dimulai dari minus tidak terhingga sampai plus tidak terhingga.




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                        Halaman: 23 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                   Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer             TIK.PR02.001.01


                 Namum dalam penerapan algoritma kita dapat mendefinisikan tipe
                 bilangan bulat dalam suatu rentang nilai tertentu. Penetapan rentang
                 nilai ini dimaksudkan untuk menyatakan bahwa nilai dari suatu obyek
                 hanya boleh pada ranah nilai tersebut.


                 Contoh :
                 Misalkan sebuah obyek jumlah murid 1 kelas yang berisi 100 orang,
                 hendaknya didefinisikan pada tipe bilangan bulat yang memiliki
                 rentang nilai dari 1 .. 100. Apabila sebuah obyek tidak didefinisikan
                 rentang nilainya, maka dianggap obyek tersebut memiliki rentang nilai
                 dari minus tidak terhingga sampai plus tidak terhingga.


                 Pada implementasinya, tipe integer memulai rentang nilai yang
                 terbatas dan tergantung dari setiap kompiler dimana kita membuat
                 program aplikasinya. Berikut saya berikan contoh pada kompiler
                 Turbo Pascal.


  Tipe                             Rentang Nilai                     Format
  Byte                             0 ... 255                         Unsigned 8 – bit
  Shortlist                        - 128 ... 127                     Signed 8 – bit
  Word                             0 ... 65535                       Unsigned 16 – bit
  Integer                          - 32768 ... 32767                 Signed 16 bit
  Longint                          -2147483648 ... 2147483647        Signed 32 bit

                 Rentang nilai dari tipe data ini sangat bervariatif dan bergantung pada
                 jenis program kompilernya. Contoh diatas tidak berlaku bagi semua
                 jenis kompiler.


                 Operasi
                 Operasi yang dapat dilakukan pada tipe data ini ada 2 macam, yaitu :
                 Operasi artimatika dan Operasi perbandingan.
                   -   Operasi Aritmatika



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                      Halaman: 24 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                        Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                  TIK.PR02.001.01


                        Operasi aritmatika pada bilangan bulat akan menghasilkan
                        bilangan bulat juga. Operator aritmatika yang digunakan
                        antara lain :
                        + (penjumlahan)
                        - (Pengurangan)
                        * (Perkalian)
                        Div (Pembagian)
                        Mod (sisa hasil bagi)


                   -   Operasi Perbandingan
                        Operasi     perbandingan        terhadap   bilangan     bulat    dengan
                        menggunakan operator relasional akan menghasilkan nilai


                        booelan (true atau false). Operator perbandingan                   yang
                        digunakan antara lain :
                        <       (lebih kecil)
                        <         (lebih kecil atau sama dengan)
                        >       (lebih besar atau sama dengan)
                        ==      (sama dengan)
                        ≠       (tidak sama dengan)




                        Contoh operasi perbandingan :
                        3<8              (true)
                        9≤9              (true)
                        ( 24 div 3) ≠ 8 (false)


                 C. Tipe Bilangan Riil




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                              Halaman: 25 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                        Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                  TIK.PR02.001.01


                 Tipe bilangan riil adalah bilangan yang mengandung nilai pecahan /
                 desimal misalnya 3.65, 0.0003, 29.0 dan lain lain. Karakter yang
                 identik dengan bilangan desimal adalah harus selalu mengandung “.”
                 (titik). Jadi apabila terdapat nilai 20 maka akan dianggap sebagai
                 bilangan bulat, sedangkan nilai 20.0 akan dianggap sebagai bilangan
                 riil. Selain itu bilangan riil juga dapat dituliskan dengan notasi
                 eksponential (E) yang artinya perpangkatan sepuluh. Nama tipe dari
                 bilangan riil ini lebih sering dikenal dengan real.
                 Secara teoritis, tipe data ini memiliki ranah nilai yang tidak terbatas
                 dimulai dari minus tak terhingga hingga plus tak terhingga. Namun
                 pada implementasinya, tipe bilangan riil juga memiliki batas nilai yang
                 tergantung pada masing – masing kompiler. Berikut akan diberikan
                 contoh pada kompiler Turbo Pascal.


  Tipe                            Rentang Nilai                 Format
  Real                            2.9 X 10                      6 byte
  Single                                                        4 byte
  Double                                                        8 byte
  Extended                                                      10 byte

                 Operasi
                 Operasi yang dapat dilakukan pada tipe data ini ada 2 macam, yaitu :
                 Operasi artimatika dan Operasi perbandingan.


                   -   Operasi Aritmatika
                        Operasi aritmatika pada bilangan riil akan menghasilkan
                        bilangan riil juga. Operator aritmatika yang digunakan antara
                        lain :
                        + (penjumlahan)
                        - (Pengurangan)
                        * (Perkalian)
                        Div (Pembagian)


Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                           Halaman: 26 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                            Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                      TIK.PR02.001.01


                          Mod (sisa hasil bagi)


                   -     Operasi Perbandingan
                          Operasi        perbandingan         terhadap   bilangan   riil     dengan
                          menggunakan operator relasional akan menghasilkan nilai
                          booelan (true atau false). Operator perbandingan                     yang
                          digunakan antara lain :
                          <         (lebih kecil)
                          <          (lebih kecil atau sama dengan)
                          >         (lebih besar atau sama dengan)
                          ==        (sama dengan)
                          ≠         (tidak sama dengan)
                          Contoh operasi perbandingan :
                          0.003 < 0. 3              (true)
                          8.0 ≥ 5                   (false)
                          3.0 ≠ 3.5                 (true)


                 D. Tipe Karakter
                 Tipe data yang termasuk karakter ini adalah huruf – huruf alfabet,
                 tanda baca, angka ‘0’, ‘1’, ‘2’, .... dan karakter – karakter khusus
                 seperti ‘<’, ‘?’, dan sebagainya. Tipe data ini biasa dikenal sebagi
                 char.
                 Rentang nilai dari tipe data ini adalah karakter – karakter yang telah
                 disebutkan diatas, untuk lebih detilnya dapat melihat pada buku –
                 buku yang memuat daftar tabel ASCII. Karakteristik yang identik
                 dengan tipe data ini adalah setiap karakter harus diapit dengan tanda
                 petik tunggal.


                 Contoh :
                 ‘a’, ‘1’, ‘ ‘, ‘+’, ‘?’, ‘&’.



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                                Halaman: 27 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                         Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                   TIK.PR02.001.01


                 Satu hal yang perlu diperhatikan adalah : bilangan 1 adalah integer
                 dan ‘1’ adalah karakter.


                 Operasi
                 Satu – satunya operasi yang digunakan untuk tipe data ini adalah
                 operasi perbandingan.
                       -       Operasi perbandingan
                           Operasi perbandingan terhadap tipe data karakter dengan
                           menggunakan operator relasional akan menghasilkan nilai
                           boolean (true atau false). Operator perbandingan               yang
                           digunakan antara lain :
                           <       (lebih kecil)
                           <           (lebih kecil atau sama dengan)
                           >       (lebih besar atau sama dengan)
                           ==      (sama dengan)
                           ≠       (tidak sama dengan)


                           Contoh :
                           ‘a’ == ‘a’              (true)
                           ‘m’ < ‘z’               (true)
                           ‘y’ ≠ ‘Y’


                           Hal yang harus diperhatikan dalam operasi perbandingan pada
                           tipe data karakter adalah operasi ini membandingkan kode
                           ASCII diantara 2 obyek yang dibandingkan. Jadi bisa dilihat
                           pada contoh diatas bahwa ‘y’ tidak sama dengan ‘Y’, ini
                           dikarenakan kode ASCII dari 2 karakter tersebut memang
                           berbeda.


             4.4.1.2       Tipe Data Bentukan



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                            Halaman: 28 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer              TIK.PR02.001.01


                 A. String / Kalimat
                 String adalah sebuah kalimat atau dapat dikatakan merupakan
                 kumpulan dari karakter.       Tipe data ini dikenal juga dengan nama
                 string.
                 Rentang nilai dari string adalah sesuai dengan rentang nilai dari
                 karakter (lihat pembahasan diatas). String adalah bentukan dari
                 sederetan      karakter   yang   dikombinasikan   menjadi    satu   untuk
                 membentuk sebuah arti tertentu.


                 Contoh :
                 “Bandung”, “Jakarta”, “ABCDE”, “12345”
                  hal yang perlu diperhatikan adalah string “123” berbeda dengan 123.


                 Operasi
                 Operasi yang dapat dilakukan pada tipe data string ada 2 macam,
                 yaitu :


                   -   Operasi Penyambungan (Concatenation)
                           Operasi penyambungan ini berfungsi untuk menggabungkan 2
                           string atau lebih. Operator yang digunakan adalah “+” dan “&”
                           (Tergantung dari jenis kompilernya)


                           Contoh Concatenation :
                           “TEKNIK “ + “INFORMATIKA” = “TEKNIK INFORMATIKA”
                           “1” + “2” = “12”
                           Hal yang perlu diperhatkan adalah operator “+” ini bukanlah
                           operator penjumlahan / operator artimatika.


                   -   Operasi Perbandingan
                           Operasi perbandingan terhadap tipe data string dengan
                           menggunakan operator relasional akan menghasilkan nilai

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                         Halaman: 29 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                       Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                 TIK.PR02.001.01


                        booelan (true atau false). Operator perbandingan                yang
                        digunakan antara lain :
                        <       (lebih kecil)
                        <        (lebih kecil atau sama dengan)
                        >       (lebih besar atau sama dengan)
                        ==      (sama dengan)
                        ≠       (tidak sama dengan)


                        Contoh :
                        “abcde” == “abc”                (false)
                        “aku” < “AKU”                   (true)
                        Hal yang perlu diperhatikan dalam operasi perbandingan pada
                        tipe data string adalah           kompiler   akan membandingkan
                        berdasarkan kode ASCII dari tiap – tiap karakter terhadap kode
                        ASCII dari obyek lainnya. Prinsip ini sebenarnya sama dengan
                        prinisp operasi perbandingan pada tipe data karakter yang
                        telah dijelaskan di atas.


                 B. Tipe data dasar yang diberi nama tipe baru
                 Pemrogram dapat memberi sebuah nama baru dati tipe data dasar
                 yang ada, dengan menambahkan kata kunci type. Pengubahan nama
                 ini biasanya digunakan bagi para programmer untuk memudahkan
                 dalam penamaan pada variabel pada penulisan program.


                 Contoh :
                 Type bilBulat : integer
                 Penulisan diatas berarti bilBulat memiliki tipe yang sama dengan
                 integer dan dapat digunakan untuk mendeklarasikan sebuah obyek
                 integer.


                 C. Record / Rekaman

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                          Halaman: 30 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                            Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                      TIK.PR02.001.01


                 Tipe data rekaman atau bisa disebut record. Record ini merupakan
                 dasar daripada pemrograman basis data. Pada dasarnya record
                 adalah sekumpulan baris data yang tersusun dari beberapa field.


                 Contoh :
  Nama                    Alamat                       Telp                  NO_Ktp
  Budi                    Gelong Baru 72               713.26.905            123/456/789

                 Pada contoh diatas akan menjelaskan mengenai dasar dari field dan
                 record sendiri. Field adalah setiap kolom (nama, alamat, telp dan no
                 ktp). Field ini adalah data tunggal yang berdiri sendiri dan belum
                 memiliki arti yang sempurna sebelum disusun menjadi 1 kesatuan.
                 Record     adalah     1       baris      data    (Budi,   Gelong     Beru    72,
                 713.26.905,123/456/789). Record adalah sekumpulan baris data yang
                 disusun dari field – field.


                 Pendefinisian Tipe Data Record
                 Pendefinisian tipe data record sangat tergantung dari bahasa
                 pemrograman yang digunakan, disini akan diberikan contoh
                 menggunakan bahasa pemrograman Turbo Pascal.


                 Contoh :
                 Record     DataMhs    adalah          record    yang   menyimpan    nilai   ujian
                 mahasiswa beserta kode mata kuliah yang diambil.


                 Type DataMhs : record
                       < NIM : string, Nama : string, KdMtk : string, nilai : real >


                 Pendefinisian tipe data record menggunakan kata kunci type
                 kemudian     dilanjutkan       dengan      menuliskan     nama     Record    dan
                 menuliskan field – field yang ingin ditampung dalam 1 record.


Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                               Halaman: 31 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                   Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer             TIK.PR02.001.01




                 Penulisan dan pembacaan dari Record
                 Sebelum mempelajar tentang bagaimana menulis dan membaca dari
                 record, ada baiknya kita pelajari dahulu bagaimana mendefinisikan
                 obyek dari sebuah tipe data record yang telah didefinisikan.


                 Contoh :
                 Misalkan anda mempunyai sebuah struktur record yang bernama
                 DataMhs, dan saat ini hendak memberi nilai dari masing – masing
                 field yang ada di dalam struktur tersebut.


                 Buatlah obyek yang merujuk ke struktur record.


                 DataMhs rudy
                 Mendefinisikan obyek rudy sebagai obyek nyata dari DataMhs


                 Memasukkan nilai ke dalam setiap field dalam struktur record


                 Rudy.Nama = “Rudy Haryanto”
                 Rudy.NIM = “0600671590”
                 Rudy.KdMtk = “MTK001”
                 Rudy.Nilai = 98


                 Menampilkan nilai dari struktur record ke standar output


                 Cetak Rudy.NIM + Rudy.Nama + Rudy.KdMtk + Rudy.Nilai
                 Akan memberikan hasil sama seperti contoh tabel diatas. Hal yang


                 harus diperhatikan pada operator ‘+’ tersebut bukanlah operator
                 artimatika dan berupa operator penggabungan string ( lihat
                 pembahasan tipe data string ).

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                      Halaman: 32 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                     Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer               TIK.PR02.001.01




        4.4.2 Variabel
                 Setiap mempelajari sebuah bahasa pemrograman anda pasti akan
                 dihadapkan dengan yang namanya variabel. Variabel merupakan
                 sebuah obyek yang digunakan untuk menyimpan data tertentu
                 berdasarkan tipe data dasar tertentu.
                 Setiap obyek yang ada di dunia pasti memiliki nama, begitu pula
                 dalam bahasa pemrograman. Seluruh variabel yang dideklarasikan
                 harus memiliki nama dan tipe dasarnya. Ini dimaksudkan untuk
                 memudahkan kompiler dalam mengidentifikasi variabel – variabel
                 yang digunakan dalam proses perhitungan.
                 Variabel memiliki aturan dalam penamaan yang biasanya berlaku bagi
                 hampir seluruh bahasa pemrograman.


                   -   Nama harus dimulai dengan huruf alfabet, tidak boleh dimulai
                       dengan angka , spasi atau karakter khusus lainnya


                   -   Bagi bahasa pemgograman tertentu huruf besar dan kecil tidak
                       berpengaruh, tapi bagi bahasa pemrograman tertentu akan
                       dibedakan.
                   -   Tidak boleh mengandung operator artimatika, tanda baca dan
                       karakter khusus lainnya.
                   -   Tidak boleh dipisahkan menggunakan spasi, apabila ingin
                       memisahkan harus menggunakan karakter “_”.
                   -   Panjang nama tidak dibatas, tetapi hendaknya tidak terlalu
                       panjang sehingga tidak menimbuikan kebingungan saat menulis
                       program.
                   -   Penamaan     hendaknya      disesuaikan   dengan    kegunaan     dari
                       variabel tersebut.


                 Contoh :

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                          Halaman: 33 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                     Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer               TIK.PR02.001.01


                 Integer nilai_ujian           (variabel bernama nilai_ujian dengan tipe
                 integer)
                 Integer nilai ujian           (salah, mengandung spasi)
                 String nama-murid             (salah, mengandung karakter ‘-‘)
                 String nama_murid             (benar, menggunakan karakter “_”)


                 Pemberian nilai pada variabel
                 Setelah    mempelajari     bagaimana    cara   mendeklarasikan       sebuah
                 variabel, kita akan mempelajari bagaimana cara memberi nilai
                 kedalam sebuah variabel berdasarkan tipe data dasarnya.


                 A. Secara Langsung
                 Pemberian nilai secara langsung ini berarti memberikan sebuah nilai
                 ke dalam variabel secara langsung di dalam teks algortma program.
                 Nilai yang diberikan dapat berupaq konstanta, tetapan atau nama
                 variabel lain. Tipe yang diberikan harus sesuai dengan tipe data dari
                 variabel penerima.


                 Contoh :
                 Integer nilai
                 Nilai = 10            (benar)
                 Integer nilai_2
                 Nilai2 = nilai        (benar, memasukkan nilai dari variabel lain)
                 Nilai2 = “alo”        (salah, tipe dasarnya tidak sama)


                 B. Melalui Piranti Masukan (Standart Input)
                 Metode untuk memberikan nilai ke dalam sebuah variabel tidak hanya
                 dilakukan secara langsung, namun juga dapat dilakukan melalui
                 sebuah piranti masukan (keyboard, file ataupun database).




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                        Halaman: 34 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                  Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer            TIK.PR02.001.01


                 Setiap bahasa pemrograman menggunakan function yang berbeda –
                 beda dalam menangani proses inputan nilai dari piranti masukan.
                 Contoih dibawah ini menggunakan bahasa Turbo Pascal.


                 Contoh :
                 Integer nilai
                 Read (nilai)


                 Function read() ini digunakan untuk menerima inputan dary keyboard.
                 Jadi ketika anda mengetikkan angka 10 dan menekan ENTER, maka
                 nilai akan berisikan angka 10.
                 Apabila anda mengetikkan nilai yang memiliki tipe yang berbeda dari
                 pada tipe data dari variabel penampungnya, respon yang akan
                 diberikan oleh kompiler berbeda – beda dan tergantung dari masing –
                 masing kompiler. Ada yang langsung memberikan pesar error namun
                 ada pula yang tetap dapat menjalankan instruksi selanjutnya baru
                 kemudian menampilkan nilai yang salah ketika hendak mengakses isi
                 dari variabel tersebut.




        4.4.3 Konstanta
                 Konstanta adalah sebuah variabel yang memiliki nilai yang tetap
                 selama program berlangsung dan tidak dapat dirubah nilainya.
                 Konstanta dibagi menjadi 2 bagian, yaitu :


                 A. Konstanta yang telah ditetapkan
                     Konstanta ini biasanya telah ada bersamaan dengan satu paket
                     dari bahasa pemrograman yang digunakan, dan nilainya tidak
                     dapat dirubah. Biasanya digunakan untuk mendukung function –

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                     Halaman: 35 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                         Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                   TIK.PR02.001.01


                     function   yang    disediakan      pada   masing    –   masing       bahasa
                     pemrograman.


                   B. Konstanta yang kita tetapkan sendiri
                     Konstanta yang kita ciptakan sendiri, nama ataupun isi dari
                     konstanta ini terserah pada kita.         Kata kunci yang digunakan
                     biasanya adalah const.


                     Contoh :
                     Const PHI = 3.14
                     Const keyWords = “rahasia”
                     Const nMaks = 100


  4.5    Alur Logika Program
        Algoritma Pemrograman terdiri dari sekumpulan instruksi yang disusun
        berdasarkan urutan logis tertentu untuk memecahkan suatu permasalahan.
        Alur logika program dibagi menjadi 3 bagian besar, antara lain :


        4.5.1 Proses sekuensial
           Proses sekuensial berarti kompiler program akan menjalankan instruksi
           yang ada satu persatu hingga ditemukan dari akhir sebuah instruksi.
           Karakteristik dari proses sekuensial adalah :
               -    Setiap instruksi dikerjakan satu per satu
               -    Setiap instruksi dijalankan hanya sekali saja, tidak ada perulangan.
               -    Setiap instruksi dijalankan tepat sesuai dengan urutan sebagaimana
                    ditulis di dalam teks algoritma
               -    Kompiler akan berhenti menjalankan instruksi setelah bertemu
                    dengan instruksi terakhir.


          Contoh :



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                             Halaman: 36 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer              TIK.PR02.001.01


          Penulisan contoh ini menggunakan bahasa pseudocode dan bahasa
          pemgoraman Turbo C.


          Pseudocode
          String nama
          Integer nilai
          Read nama
          Read nilai
          Nilai = nilai * 1.4
          Print “Nama anda : “ + nama + “ Nilai anda : “ + nilai


          Bahasa C
          #include <stdio.h>


          void main(){
           // deklarasi variabel berdasarkan tipe data dasarnya.
          char *nama;
          int nilai;
          // instruksi secara sekuensial mulai dilaksanakan.
          scanf(“%s”,nama);
          scanf(“%d”,&nilai);
          nilai = nilai * 1.4;
          printf(“Nama anda : %s Nilai anda : %d“,nama,&nilai);
          // akhir dari instruksi dilaksanakan.
          }


          Kedua contoh diatas sama – sama menggunakan konsep sekuensial
          meskipun menggunakan 2 jenis bahasa pemrograman yang berbeda.
          Program akan menjalankan instruksi pertama dengan mendeklarasikan
          variabel kemudian menjalankan proses input data, mengalikan isi dari
          variabel nilai sebanyak 1.4 dan instruksi terakhir adalah menuliskan hasilnya

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                       Halaman: 37 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer              TIK.PR02.001.01


          ke stardar output (biasanya monitor), setelah itu program akan sslesai
          karena tidak instruksi lagi yang dijalankan.
          Hal yang perlu diperhatikan adalah : Urutan sebuah instruksi sangat
          memgang peranan yang dominan, apabila instruksi diatas posisinya ditukar
          antara :
          Scanf(“%d”, &nilai); dan
          Nilai = nilai * 1.4;
          Maka dapat dipastikan akan memberikan hasil yang sangat berbeda dari
          yang kita inginkan, karena kompiler hanya menjalankan sesuai dengan
          peletakan urutan instruksi saja.


          4.5.2 Proses percabangan
              Percabangan adalah suatu kondisi dimana sebuah instruksi tidak dijalankan
              secara sekuensial, tetapi lebih berdasarkan pada kondisi – kondisi tertentu
              yang ditetapkan oleh pembuat program. Pada inti pemrograman,
              percabangan memegang peranan yang sangat penting dalam penyusunan
              program.


       Contoh :
          -    Sebuah sistem menginginkan adanya otorisasi kepada pengguna.
               Sehingga pengguna yang namanya terdaftar di data perusahaan yang
               bisa menggunakan sistem tersebut.
          -    Sebuah program menginginkan pencatatan data hanya dapat dilakukan
               pada pukul 09.00 – 10.00.
          -    Dan lain sebagainya.


       Proses percabangan memiliki 3 jenis, antara lain :


               4.5.2.1   Percabangan Tunggal
                Percabangan tunggal bekerja apabila hanya ada 1 alternatif instruksi
                saja yang dijalankan. Logika ini memungkinkan kompiler untuk

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                        Halaman: 38 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                       Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                 TIK.PR02.001.01


               menjalankan sebuah instruksi atau tidak sama sekali. Kompiler baru
               akan menjalankan instruksi yang ada di dalam notasi percabangan
               apabila kondisi yang diinginkan terpenuhi atau memberikan nilai akhir
               true. Apabila kondisi tersebut memberikan nilai akhir false maka tidak
               akan ada instruksi yang dijalankan.


               Notasi algortimik yang dgunakan adalah :
               If (kondisi) {
               Instruksi yang hendak dijalankan ......
               }
               Notasi algoritmik yang digunakan ini masing – masing berbeda
               tergantung dari bahasa pemrograman yang dipakai. Pada pembahasan
               ini kami menggunakan contoh menggunakan bahasa pemrograman
               Turbo C.


               Contoh :
               Program membaca inputan dari keyboard dan apabila diinput oleh
               karakter vokal maka program akan menuliskan “Huruf Hidup” dan
               apabila bukan maka program tidak akan menjalankan apapun.




               #include <stdio.h>
               void main(){
               char huruf;


               scanf(“%c”,&huruf);
               if (huruf == ‘a’ || huruf = ‘i’ || huruf = ‘u’ || huruf ==’e’ || huruf == ‘o’)
               printf (“Huruf Hidup”);
               }



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                           Halaman: 39 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi               Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer         TIK.PR02.001.01


               Program membacan apakah bilangan yang diinput habis dibagi 2 atau
               tidak, apabila habis dibagi 2 maka program akan menuliskan “Bilangan
               genap” dan bukan maka program tidak akan menjalankan apapun.


               #include <stdio.h>


               void main(){
               int angka;
               scanf(“%d”,&angka);
               if (angka % 2 == 0)
               printf (“Bilangan Genap”);}


             4.5.2.2      Percabangan Ganda
               Percabangan ganda apabila terdapat 2 alternatid instruksi yang
               dijalankan. Logika ini memungkinkan kompiler menjalankan salah satu
               dari 2 alternatif instruksi yang ada, dan salah satu instruksi pasti
               dijalankan.


               Notasi algoritmik yang digunkanan :


               If (kondisi) {
               Instruksi pertama
               }else{
               Instruksi kedua
               }


               Contoh :
               Program memeriksa inputan apakah bilangan ganjil atau genap. Apabila
               diperiksa bilangan genap maka tulis “Bilangan genap” dan kalau bukan
               maka tulis “Bilangan ganjil”.



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                   Halaman: 40 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                   Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer             TIK.PR02.001.01


               #include <stdio.h>


               void main(){
               int angka;
               scanf(“%d”,&angka);
               if (angka % 2 == 0)
               printf (“Bilangan Genap”);
               else
               printf(“Bilangan Ganjil”);
               }


               Program memeriksa bilangan yang lebih besar dari 2 inputan bilangan.
               #include <stdio.h>


               void main(){
               int angka1, angka2;
               scanf(“%d”,&angka1);
               scanf(“%d”,&angka2);
               if (angka1 > angka2)
               printf (“Bilangan pertama lebih besar dari Bilangan kedua”);
               elseprintf (“Bilangan kedua lebih besar dari Bilangan pertama”);
               }


             4.5.2.3    Percabangan Lebih dari 2
               Pada dasarnya hanya terdapat 2 jenis seleksi dalam struktur algoritma
               pemrograman, namun bukan berarti hanya bisa dikembangkan pada 2
               jenis tersebut saja. Struktur seleksi dapat dikembangkan menjadi bentuk
               yang tidak terbatas dan dapat dikombinasikan kedalam bentuk
               perulangan selama notasi penulisannya tidak terdapat kesalahan.




Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                       Halaman: 41 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                      Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                TIK.PR02.001.01


               Kemampuan        logika    seseorang     dalam   merancang     program     dan
               mengamati dari permasalahan yang ada menjadi bagian yang paling
               penting dalam melakukan pengembangan dari bentuk seleksi ini.
               Dibawah ini akan diberikan contoh seleksi menggunakan kondisi lebih
               dari 2.
               Contoh :
               Program untuk menentukan grade dari sebuah nilai ujian, dengan
               aturan grade A untuk rentang nilai 80 – 100, grade B untuk nilai 70 – 80
               dan grade C untuk nilai 50 – 70 dan grade D untuk nilai dibawah itu.


               #include <stdio.h>


               void main(){
               int nilai;
               scanf(“%d”,&nilai);
               if (nilai >= 80 && nilai <= 100)
               print(“Grade A”);
                   else if (nilai >= 70 && nilai <= 80)
                     printf(“Grade B”);
                     else if (nilai >= 50 && nilai <= 70)
                     printf(“Grade C”);
                   else
               printf(“Grade D”);
               }
             4.5.2.4        Struktur Case
             Struktur case sebenarnya memiliki fungsi yang sama dengan struktur if
             yang telah kita pelajari diatas. Struktur case ini dapat meringkaskan alur
             logika yang terjadi apabila diaplikasikan pada pada alur seleksi yang
             memiliki lebih dari 2 kondisi. Berikut adalah notasi algoritmiknya :


             switch (kondisi){

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                            Halaman: 42 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                         Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                   TIK.PR02.001.01


             case kondisi_1 :
             break;
             case kondisi2 :
             break;
             default : }


             Struktur logika seleksi menggunakan struktur case ini jauh lebih ringkas
             apabila diaplikasikan pada struktur seleksi yang memiliki kondisi lebih dari
             2. Kompiler program akan menjalankan instruksi dari struktur case dan
             memeriksa setiap kondisi yang ada, apabila belum ada kondisi yang
             bernilai   benar    maka    kompiler       akan   terus   menjalankan    instruksi
             dibawahnya sampai ditemukan kondisi yang bernilai benar. Namun
             apabila hingga kondisi terakhir diperiksa dan tidak ditemukan kondisi
             yang bernilai benar maka kondisi default yang akan dijalankan.


             Contoh :
             Program untuk menentukan apakah karakter ‘%’, spasi, ‘&’ atau ‘$’ yang
             ditekan oleh pengguna melalui keyboard.
               #include <stdio.h>


               void main(){
               int tombol;
               scanf(“%d”,&tombol);


               swicth(tombol){
               case ‘32’:
               printf(“Anda menekan tombol spasi”);
               break;
               case ’36: printf(“Anda menekan tombol $”);
               break;
               case ‘37’ : printf(“Anda menekan tombol %”);

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                            Halaman: 43 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                    Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer              TIK.PR02.001.01


               break;
               case ‘38’: printf(“Anda menekan tombol &”);
               break;
               default : printf(“Anda tidak mematahui aturan.”);
               }}


          Perbedaan yang paling jelas antara stukrut if dengan struktur case adalah :
               -    Struktur if dapat menerima kondisi yang berupa operasi logika.
                    Sedangkan stuktur case tidak.
               -    Struktur case lebih efektif apabila digunakan untuk logika seleksi
                    lebih dari 2 kondisi.
               -    Struktur case dan sktuktur if dapat dikombinasikan kedalam satu
                    bagian, dengan catatan tata cara penulisan notasi tidak terdapat
                    kesalahan.
               -    Struktur case tidak dapat melakukan pengecekan terhadap tipe data
                    string / kalimat.


          4.5.3 Proses perulangan
           Salah satu bagian yang paling membedakan antara manusia dengan
           komputer adalah : Komputer mampu mengerjakan instruksi dalam hitungan
           ribuan bahkan jutaan kali tanpa mengenal lelah. Dalam mempelajari
           algoritma pemrograman, struktur perulangan menjadi bagian yang sangat
           penting untuk dipelajari.


           Struktur Perulangan
           Struktur perulangan terdiri dari 2 bagian, yaitu :
           1. Kondisi perulangan, yaitu ekspresi yang dilakukan sebelum pengulangan
               dilakukan pertama kali.
           2. Body atau tubuh pengulangan, yaitu satu atau lebih instruksi yang
               diulang.



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                       Halaman: 44 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                      Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                TIK.PR02.001.01


           Selain itu biasanya di perulangan juga terdapat 2 hal dibawah ini, antara
           lain :
           1. Inisialisasi : aksi yang dilakukan sebelum pengulangan dilakukan
               pertama kali.
           2. Terminasi : aksi yang dilakukan untuk membuat perulangan berakhir.
               Biasanya berupa sebuah kondisi.


           Dalam setiap bahasa pemrograman pada umumnya biasanya terdapat 3
           jenis perulangan, antara lain :
           1. Struktur WHILE – DO
           2. Struktur Do – WHILE / REPEAT – UNTIL
           3. Struktur FOR.
           Ketiga jenis diatas hanyalah sebuah metode dan pada implementasinya,
           notasi penulisannya (sintaks) sangat tergantung dari setiap bahasa
           pemrograman yang digunakan.


          4.5.3.1       Struktur WHILE – DO
               Ciri khas dari struktur ini adalah :
                    -   Dilakukan   pengencekan       di   awal   pada   kondisi   sebelum
                        menjalankan instruksi di tubuh perulangan.
                    -   Ada kemungkinan tubuh perulangan tidak dijalankan sama sekali.
                    -   Setiap kali hendak melakukan perulangan berikutnya, selalu
                        memeriksa kondisi perulangan. Apabila kondisi perulangan telah


                    -   memberikan nilai false / salah. Maka perulangan akan dihentikan.
               Notasi algoritmiknya adalah :


               while (KONDISI){
               tubuh perulangan yang berisi instruksi untuk dijalankan.
               }
               Contoh :

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                          Halaman: 45 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                      Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                TIK.PR02.001.01


               Progam membuat tulisan di angka 1 .. 100.


               # include <stdio.h>


               void main(){
               int nilai_awal = 1; // inisialisasi awal. Sangat penting.
               While (nilai_awal <= 100){
               Printf(“/n%d”,nilai_awal);
               Nilai_awal ++; // memanipulasi variabel awal agar tercapai kondisi
               terminasi.
               }}


               Dalam struktur perulangan ini, ada 2 hal yang harus diperhatikan untuk
               menghindari terjadinya kesalahan logika pada program.


                    -   Inisialisasi variabel awal.
                        Ini dimaksudkan agar ketika kompiler program melakukan
                        pemeriksaan terhadap kondisi awal, ditemukan kondisi yang
                        benar. Pada beberapa bahasa pemrograman tertentu, apabila
                        sebuah variabel tidak diinisialisasikan maka nilainya bisa berupa
                        random ataupun nol. (lihat contoh dibawah)




                    -   Manipulasi variabel awal.
                        Banyak terjadi kesalahan pada programmer ketika mereka
                        membuat program perulangan, memanipulasi variabel kondisi
                        sangat penting untuk menjaga program tetap sesuai dengan yang
                        diinginkan. Ketika kita lupa memanipulasi variabel awal, ada
                        kemungkinan program mengulang terus menerus (looping forever)
                        karena   kondisi yang diinginkan     tercapat      terus   tanpa   ada
                        perubahan. (lihat contoh dbawah)

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                            Halaman: 46 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                         Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                   TIK.PR02.001.01




          Contoh 1 :
          Program menulis angka dari 1 .. 100.


               # include <stdio.h>


               void main(){
               int nilai_awal ; // tidak dilakukan inisialisasi awal.
               While (nilai_awal <= 100){
               printf(“/n%d”,nilai_awal);
               Nilai_awal ++; // memanipulasi variabel awal agar tercapai kondisi
               terminasi.
               }}


          Program diatas tidak melakukan inisialisasi awal terhadap variabel nilai_awal,
          sehingga ada kemungkinan nilai_awal berisni nilai random. Misalkan
          nilai_awal berisi -1200, dan secara logika -1200 memang kurang dari 100.
          Maka program bukan mencetak 1 – 100, melainkan mencetak -1200 – 100.
          Contoh 2 :
          Program menulis angka dari 1 .. 100.




               # include <stdio.h>


               void main(){
               int nilai_awal = 1; // inisialisasi awal dilakukan
               While (nilai_awal <= 100){
               Printf(“/n%d”,nilai_awal);
               }}



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                            Halaman: 47 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                         Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                   TIK.PR02.001.01


          Program diatas tidak melakukan manipulasi terhadap nilai_awal , sehingga
          nilainya selalu 1. Program bukannya mencetak 1 – 100, melainkan mencetak
          angka 1 terus menerus dan tidak pernah berhenti karena kondisi perulangan
          selalu benar.


          4.5.3.2    Struktur Do – WHILE / REPEAT – UNTIL
          Struktur Do = WHILE / REPEAT – UNTIL hampir mirip dengan struktur
          WHILE – DO. Berikut adalah ciri khas dari struktur perulangan ini.


             -   Tidak dilakukan pengecekan kondisi perulangan di awal eksekusi
                 program.
             -   Minimal perulangan yang terjadi di tubuh program sebanyak 1 kali
                 (Kerena tidak ada pengecekan kondisi perulanga di awal).
             -   Setiap   kali   hendak    melakukan      perulangan      berikutnya,     selalu
                 memeriksa kondisi perulangan. Apabila kondisi perulangan telah
                 memberikan nilai false / salah. Maka perulangan akan dihentikan.


          Perbedaan paling mendasar sebenarnya terletak pada pengecekan kondisi
          perulangan, struktur ini melakukan pengecekan kondisi perulangan di akhir
          tubuh perulangan (bukan di awal seperti struktur WHILE – DO) sehingga
          mengakibatkan instruksi dijalankan minimal 1 kali.




          Notasi algoritmiknya adalah :


          do {                                          repeat


          Tubuh perulangan              atau
          }while (KONDISI);                             until KONDISI



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                            Halaman: 48 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                     Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer               TIK.PR02.001.01


          Pada impelemntasinya notasi penulisan struktur perulangan ini juga
          bergantung pada bahasa pemgoraman yang digunakan. Pembahasan ini
          menggunakan bahasa pemrograman Turbo C dan leih ditekankan kepada
          konsep – konsep perulangannya.
          Contoh :
                 Program menulis angka dari 1 .. 100.


          # include <stdio.h>
          void main(){
          int nilai_awal = 1; // inisialisasi awal dilakukan
          do{
              Printf(“/n%d”,nilai_awal);
              Nilai_awal += 1;// tambahkan nilai_awal sebanyak 1.
           }while(nilai_awal <= 100);
          }


        Program untuk meminta inputan dari keyboard, apabila pengguna menekan
        tombol esc maka program akan berhenti.


        #include <stdio.h>
        #include <conio.h>




        void main(){
        char tombol;


        do{
        tombol = getch(); // peminta penekanan tombol dari keyboard.
        // selama tombol yang ditekan tidak memiliki ASCII = 27 (tombol esc) maka //
        program akan tetap berjalan.
        }while (tombol != 27);

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                        Halaman: 49 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                 Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer           TIK.PR02.001.01


        // program berhenti, karena pengguna telah menekan tombol escape.
        }


            Kapan menggunakan WHILE – DO atau Do – WHILE ?
            Pemilihan antara kedua struktur ini sangat tergantung pada permasalahan
            yang dihadapi. Apabila sebuah program memerlukan instruksi dijalankan
            dahulu dan baru diperiksa kondisinya maka strukltur DO – WHILE harus
            digunakan namun apabila sebuha program harus memeriksa kondisi
            perulangan terlebih dahulu dan baru menjalankan tubuh perulangan, maka
            kondisi WHILE – DO harus digunakan.


            4.5.3.3    Struktur FOR
            Struktur perulangan for ini digunakan untuk perulangan yang tidak perlu
            memeriksa kondisi apapun dan hanya melaksanakan perulangan sejumlah
            kali tertentu.


            Struktur perulangan ini paling cocok untuk proses perulangan yang telah
            diketahui batas akhirnya, karena kompiler akan mengeksekusi lebih cepat
            daripada 2 jenis struktur perulangan diatas.




            Notasi algoritmiknya :


            For (variabel awal = nilai awal; kondisi ; faktor penaik){
            Tubuh perulangan
            }


            Contoh :
            Program menulis bilangan genap dari 2 – 100.

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                     Halaman: 50 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                   Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer             TIK.PR02.001.01




          #include <stdio.h>


          void main(){
          int nilai_genap = 2; // inisialisasi awal.
          for (nilai_genap =2; nilai_genap <= 100; nilai_genap+=2)
          printf(“%d”,&nilai_genap);}


          Program diatas akan melakukan inisialisasi nilai_genap sebanyak 2, dan
          setelah itu akan dilakukan pemeriksaan apakan kondisi terpenuhi /
          memberikan nilai benar. Apabila kondisi terpenuhi maka tubuh perulangna
          akan dijalankan ( mencetak nilai dari nilai_genap) dan kemudian menaikkan
          nilai_genap sebanyak 2. Setlah itu akan dilakukan pemeriksaan kondisi sekali
          lagi, dan apabila kondisi tersebut terpenuhi maka tubuh perulangan akan
          dijalankan lagi sedangkan apabila kondisi perulangan tidak terpenuhi maka
          struktur perulangan akan berakhir.


                Inti dari struktur perulangan ini adalah :


                  -   Lebih cocok untuk jenis perulangan yang memiliki batas akhir yang
                      sudah jelas.
                  -   Pemeriksaan kondisi awal akan dilakukan di awal. Apabila kondisi
                      terpenuhi, maka tubuh perulangan akan dilakukan. Apabila tidak,
                      maka tubuh perulangan tidak akan pernah dilakukan.
                  -   Ada kemungkinan tubuh perulangan tidak dijalankan sama sekali.
                  -   Memiliki proses yang lebih cepat dibandingkan bentuk DO –
                      WHILE atau WHLE – DO dalam proses perhitungan matematika.


  4.6     Menerapkan Pengelolaan Array


        4.6.1   Pengenalan Array.

Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                      Halaman: 51 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                      Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer                TIK.PR02.001.01


        Sebuah variabel hanya mampu menyimpan sebuah nilai berdasarkan tipe data
        tertentu, variabel tidak mampu menyimpan beberapa buah data dengan tipe
        yang sejenis. Seringkali dalam pemrograman kita harus mengolah sekumpulan
        data dengan tipe data yang sama. Misalnya nilau ujian 50 orang, no telp dari
        seluruh karyawan, dan sebagainya. Apabila kita mengacu pada penggunaan
        variabel, maka dapat dibayangkan berapa banyak nama variabel yang akan
        diperlukan dan betapa sukarnya untuk mengorganisasi variabel sebanyak itu.
        Array mampu memberikan solusi atas permasalah tersebut, karena dengan
        penggunaan array tidak diperlukan lagi perulangan variabel yang memilikit
        tipe data dasar sama dengan nama berbeda.
        Array adalah struktur data yang mampu menyimpan sekumpulan data dengan
        tipe yang sama, setiap elemen data dipisahkan menggunakan indeks. Pada
        bahasa pemrograman pada umumnya, indeks dari sebuah array selalu diawali
        dari 0 hingga n -1 (n = jumlah elemen maksimum).


        Contoh :
        Terdapat struktur data array bertipe integer, dengan 5 buah elemen
        didalamnya.


  Indeks = 0          Indeks = 1        Indeks = 2      Indeks = 3          Indeks = 4
  Nilai = 10          Nilai = 20        Nilai = 30      Nilai = 40          Nilai = 50


        Pada tabel diatas terdapat 2 buah penamaan, indeks dan nilai.
        Indeks adalah sebuah nilai yang menjadi identitas dari masing – masing
        elemen data dari sebuah struktur array. Nilai adalah nilai nyata yang
        tersimpan pada setiap elemen pada indeks tertentu dari sebuah struktur array.
        Hal yang harus diperhatikan dalam menyimpan data pada elemen array adalah
        kesamaan tipe data, karena tidak mungkin menyimpan data yang berbeda –
        beda kedalam sebuah struktur array.


        Pendeklarasian Array


Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                         Halaman: 52 dari 77
Buku Informasi                      Versi: 01-09-2007
Materi Pelatihan Berbasis Kompetensi                 Kode Modul
     Sektor Telematika Sub Sektor Programmer Komputer           TIK.PR02.001.01


        Pendeklarasian array tidak bedanya dengan pendeklarasian variabel biasa,
        terdapat aturan – aturan penamaan yang sama persis dengan aturan
        penamaan variabel. Perbedaannya terletak pada :
             -   Saat pendeklarasian array, hendaknya menentukan tipe dari array
                 tersebut.
             -   Saat pendeklarasian array, hendaknya menentukan jumlah dari
                 elemen yang terkandung di dalam struktur array tersebut.
        Dalam menentukan jumlah elemen dari array hendaknya diperhatikan dengan
        baik, karena banyaknya elemen array berarti memesan sejumlah tempat di
        memori komputer. Tipe data array dapat berupa tipe sederhana (integer, char,
        double, boolean) ataupun tipe terstruktur (record).


        Contoh :
        int nilai[10];


        Perintah diatas akan memberikan instruksi untuk memesan 10 tempat di
        memori komputer bertipe integer. Variabel array nilai memiliki indeks mulai
        dari 0 hingga 9.




        Contoh lain :
        char nama[100], double nilai_ujian[100];


        Mengakses Elemen Array
        Setelah struktut array dideklarasikan, tiba saatnya untuk mengakses masing –
        masing elemen dari struktur array tersebut. Cara pengaksesannya sangat
        mudah dan hampir sama dengan proses pemberian nilai kepada sebuah
        variabel. Hanya disini yang harus diperhatikan adalah indeks setiap elemen
        array, karena kesalahan yang timbul akibat kesalahan pemberian indeks pada
        array akan mengakibatkan data dikirim pada tempat yang salah.



Judul Modul: Membuat Algoritma Pemrograman Dasar
                                                                    Halaman: 53 dari 77
Buku Informasi                      Versi: 01-09-2007
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR
MEMBANGUN ALGORITMA DASAR

Weitere ähnliche Inhalte

Was ist angesagt?

Tik.cs02.052.01 buku informasi setting wireless fix
Tik.cs02.052.01 buku informasi setting wireless fixTik.cs02.052.01 buku informasi setting wireless fix
Tik.cs02.052.01 buku informasi setting wireless fixLukmanulhakim Almamalik
 
Buku informasi tik.cs03.015.01 udah revisi
Buku informasi tik.cs03.015.01 udah revisiBuku informasi tik.cs03.015.01 udah revisi
Buku informasi tik.cs03.015.01 udah revisiLukmanulhakim Almamalik
 
Buku informasi tik.cs03.012.01 (autosaved)
Buku informasi tik.cs03.012.01 (autosaved)Buku informasi tik.cs03.012.01 (autosaved)
Buku informasi tik.cs03.012.01 (autosaved)Lukmanulhakim Almamalik
 
Modul 4 Pengolah Kata
Modul 4   Pengolah KataModul 4   Pengolah Kata
Modul 4 Pengolah KataAan Solo
 
Perangkat lunak pengolah kata
Perangkat lunak pengolah kataPerangkat lunak pengolah kata
Perangkat lunak pengolah katalintang Kegelapan
 
25358544 motor-stater
25358544 motor-stater25358544 motor-stater
25358544 motor-stateryepiyes
 
Makalah ii - Giofani - 11150351 - 7c msdm
Makalah ii - Giofani - 11150351 - 7c msdmMakalah ii - Giofani - 11150351 - 7c msdm
Makalah ii - Giofani - 11150351 - 7c msdmGiofanisdg
 

Was ist angesagt? (20)

Buku informasi tik.cs03.016.01
Buku informasi tik.cs03.016.01Buku informasi tik.cs03.016.01
Buku informasi tik.cs03.016.01
 
Tik.cs02.053.01 buku informasi
Tik.cs02.053.01 buku informasiTik.cs02.053.01 buku informasi
Tik.cs02.053.01 buku informasi
 
Tik.cs03.008.01 buku informasi
Tik.cs03.008.01 buku informasiTik.cs03.008.01 buku informasi
Tik.cs03.008.01 buku informasi
 
Tik.cs02.052.01 buku informasi setting wireless fix
Tik.cs02.052.01 buku informasi setting wireless fixTik.cs02.052.01 buku informasi setting wireless fix
Tik.cs02.052.01 buku informasi setting wireless fix
 
Buku informasi tik.cs03.015.01 udah revisi
Buku informasi tik.cs03.015.01 udah revisiBuku informasi tik.cs03.015.01 udah revisi
Buku informasi tik.cs03.015.01 udah revisi
 
Buku informasi tik.cs03.010.01
Buku informasi tik.cs03.010.01Buku informasi tik.cs03.010.01
Buku informasi tik.cs03.010.01
 
Buku informasi tik.cs03.011.01
Buku informasi tik.cs03.011.01Buku informasi tik.cs03.011.01
Buku informasi tik.cs03.011.01
 
Buku informasi tik.cs03.012.01 (autosaved)
Buku informasi tik.cs03.012.01 (autosaved)Buku informasi tik.cs03.012.01 (autosaved)
Buku informasi tik.cs03.012.01 (autosaved)
 
Tik.cs03.007.01 buku informasi
Tik.cs03.007.01 buku informasiTik.cs03.007.01 buku informasi
Tik.cs03.007.01 buku informasi
 
Tik.jk02.007.01 b info
Tik.jk02.007.01 b infoTik.jk02.007.01 b info
Tik.jk02.007.01 b info
 
Tik.jk02.023.01 b informasi fix
Tik.jk02.023.01 b informasi fixTik.jk02.023.01 b informasi fix
Tik.jk02.023.01 b informasi fix
 
Tik.cs02.049.01 buku informasi
Tik.cs02.049.01 buku informasiTik.cs02.049.01 buku informasi
Tik.cs02.049.01 buku informasi
 
Tik.jk02.001 b informasi
Tik.jk02.001 b informasiTik.jk02.001 b informasi
Tik.jk02.001 b informasi
 
Tik.jk01.006.01 b informasi fix
Tik.jk01.006.01 b informasi fixTik.jk01.006.01 b informasi fix
Tik.jk01.006.01 b informasi fix
 
Modul 4 Pengolah Kata
Modul 4   Pengolah KataModul 4   Pengolah Kata
Modul 4 Pengolah Kata
 
Perangkat lunak pengolah kata
Perangkat lunak pengolah kataPerangkat lunak pengolah kata
Perangkat lunak pengolah kata
 
25358544 motor-stater
25358544 motor-stater25358544 motor-stater
25358544 motor-stater
 
28. teknologi dan informasi
28. teknologi dan informasi28. teknologi dan informasi
28. teknologi dan informasi
 
Makalah ii - Giofani - 11150351 - 7c msdm
Makalah ii - Giofani - 11150351 - 7c msdmMakalah ii - Giofani - 11150351 - 7c msdm
Makalah ii - Giofani - 11150351 - 7c msdm
 
MJR PDF SHARE 3
MJR PDF SHARE 3MJR PDF SHARE 3
MJR PDF SHARE 3
 

Ähnlich wie MEMBANGUN ALGORITMA DASAR

Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsBambang Purnomosidi D. P.
 
Pengantar Teknologi Informasi
Pengantar Teknologi InformasiPengantar Teknologi Informasi
Pengantar Teknologi Informasinoviaji wibisono
 
Modul 5 Lembar Sebar
Modul 5   Lembar SebarModul 5   Lembar Sebar
Modul 5 Lembar SebarAan Solo
 
Ka 01.-praktikum-algoritma-pemrograman-2
Ka 01.-praktikum-algoritma-pemrograman-2Ka 01.-praktikum-algoritma-pemrograman-2
Ka 01.-praktikum-algoritma-pemrograman-2Ayu Karisma Alfiana
 
Modul Frais CNC_versi4.0_juli11
Modul Frais CNC_versi4.0_juli11Modul Frais CNC_versi4.0_juli11
Modul Frais CNC_versi4.0_juli11Bernardus Sentot
 
Mi 01.-praktikum-bahasa-pemrograman
Mi 01.-praktikum-bahasa-pemrogramanMi 01.-praktikum-bahasa-pemrograman
Mi 01.-praktikum-bahasa-pemrogramanAyu Karisma Alfiana
 
Modul 9 Pengelolaan Informasi
Modul 9   Pengelolaan InformasiModul 9   Pengelolaan Informasi
Modul 9 Pengelolaan InformasiAan Solo
 
Psosk 12-supplement file-management_system
Psosk 12-supplement file-management_systemPsosk 12-supplement file-management_system
Psosk 12-supplement file-management_systemHendriyana Jatnika
 
Draft urs tms version 1 0 a
Draft urs   tms version 1 0  aDraft urs   tms version 1 0  a
Draft urs tms version 1 0 ad3styakrisna
 
Modul 2 mesin_bubut_cnc_versi_juli
Modul 2 mesin_bubut_cnc_versi_juliModul 2 mesin_bubut_cnc_versi_juli
Modul 2 mesin_bubut_cnc_versi_juliBernardus Sentot
 
Modul Jaringan Komputer Dasar 2011-2012
Modul Jaringan Komputer Dasar 2011-2012Modul Jaringan Komputer Dasar 2011-2012
Modul Jaringan Komputer Dasar 2011-2012Mas Tri Sragen
 
12 Mendiagnosis Permasalahan Pengoperasian Pc Yg Tersambung Jar
12 Mendiagnosis Permasalahan Pengoperasian Pc Yg Tersambung Jar12 Mendiagnosis Permasalahan Pengoperasian Pc Yg Tersambung Jar
12 Mendiagnosis Permasalahan Pengoperasian Pc Yg Tersambung JarCah Fait
 
11. mendiagnosis permasalahan pengoperasian_pc_yg_tersambung_jaringan
11. mendiagnosis permasalahan pengoperasian_pc_yg_tersambung_jaringan11. mendiagnosis permasalahan pengoperasian_pc_yg_tersambung_jaringan
11. mendiagnosis permasalahan pengoperasian_pc_yg_tersambung_jaringanEko Supriyadi
 
mendiagnosis_permasalahan_pengoperasian_pc_yg_tersambung_jaringan
mendiagnosis_permasalahan_pengoperasian_pc_yg_tersambung_jaringanmendiagnosis_permasalahan_pengoperasian_pc_yg_tersambung_jaringan
mendiagnosis_permasalahan_pengoperasian_pc_yg_tersambung_jaringanNurdin Al-Azies
 
Supriyanto s komputasi untuk sains dan teknik menggunakan matlab edisi 4 - ...
Supriyanto s   komputasi untuk sains dan teknik menggunakan matlab edisi 4 - ...Supriyanto s   komputasi untuk sains dan teknik menggunakan matlab edisi 4 - ...
Supriyanto s komputasi untuk sains dan teknik menggunakan matlab edisi 4 - ...Kira R. Yamato
 
Modul 2 Mengidentifikasi Komputer
Modul 2   Mengidentifikasi KomputerModul 2   Mengidentifikasi Komputer
Modul 2 Mengidentifikasi KomputerAan Solo
 

Ähnlich wie MEMBANGUN ALGORITMA DASAR (20)

Tik.jk02.005.01 b info
Tik.jk02.005.01 b infoTik.jk02.005.01 b info
Tik.jk02.005.01 b info
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
 
Pengantar Teknologi Informasi
Pengantar Teknologi InformasiPengantar Teknologi Informasi
Pengantar Teknologi Informasi
 
Modul 5 Lembar Sebar
Modul 5   Lembar SebarModul 5   Lembar Sebar
Modul 5 Lembar Sebar
 
Perbaikan
PerbaikanPerbaikan
Perbaikan
 
Ka 01.-praktikum-algoritma-pemrograman-2
Ka 01.-praktikum-algoritma-pemrograman-2Ka 01.-praktikum-algoritma-pemrograman-2
Ka 01.-praktikum-algoritma-pemrograman-2
 
Modul Frais CNC_versi4.0_juli11
Modul Frais CNC_versi4.0_juli11Modul Frais CNC_versi4.0_juli11
Modul Frais CNC_versi4.0_juli11
 
Mi 01.-praktikum-bahasa-pemrograman
Mi 01.-praktikum-bahasa-pemrogramanMi 01.-praktikum-bahasa-pemrograman
Mi 01.-praktikum-bahasa-pemrograman
 
Modul 9 Pengelolaan Informasi
Modul 9   Pengelolaan InformasiModul 9   Pengelolaan Informasi
Modul 9 Pengelolaan Informasi
 
Tugas UAS Rangkuman Riset Operasi
Tugas UAS Rangkuman Riset Operasi Tugas UAS Rangkuman Riset Operasi
Tugas UAS Rangkuman Riset Operasi
 
Psosk 12-supplement file-management_system
Psosk 12-supplement file-management_systemPsosk 12-supplement file-management_system
Psosk 12-supplement file-management_system
 
Draft urs tms version 1 0 a
Draft urs   tms version 1 0  aDraft urs   tms version 1 0  a
Draft urs tms version 1 0 a
 
Modul 2 mesin_bubut_cnc_versi_juli
Modul 2 mesin_bubut_cnc_versi_juliModul 2 mesin_bubut_cnc_versi_juli
Modul 2 mesin_bubut_cnc_versi_juli
 
Modul Jaringan Komputer Dasar 2011-2012
Modul Jaringan Komputer Dasar 2011-2012Modul Jaringan Komputer Dasar 2011-2012
Modul Jaringan Komputer Dasar 2011-2012
 
12 Mendiagnosis Permasalahan Pengoperasian Pc Yg Tersambung Jar
12 Mendiagnosis Permasalahan Pengoperasian Pc Yg Tersambung Jar12 Mendiagnosis Permasalahan Pengoperasian Pc Yg Tersambung Jar
12 Mendiagnosis Permasalahan Pengoperasian Pc Yg Tersambung Jar
 
11. mendiagnosis permasalahan pengoperasian_pc_yg_tersambung_jaringan
11. mendiagnosis permasalahan pengoperasian_pc_yg_tersambung_jaringan11. mendiagnosis permasalahan pengoperasian_pc_yg_tersambung_jaringan
11. mendiagnosis permasalahan pengoperasian_pc_yg_tersambung_jaringan
 
mendiagnosis_permasalahan_pengoperasian_pc_yg_tersambung_jaringan
mendiagnosis_permasalahan_pengoperasian_pc_yg_tersambung_jaringanmendiagnosis_permasalahan_pengoperasian_pc_yg_tersambung_jaringan
mendiagnosis_permasalahan_pengoperasian_pc_yg_tersambung_jaringan
 
Tik.jk02.012 b informasi
Tik.jk02.012 b informasiTik.jk02.012 b informasi
Tik.jk02.012 b informasi
 
Supriyanto s komputasi untuk sains dan teknik menggunakan matlab edisi 4 - ...
Supriyanto s   komputasi untuk sains dan teknik menggunakan matlab edisi 4 - ...Supriyanto s   komputasi untuk sains dan teknik menggunakan matlab edisi 4 - ...
Supriyanto s komputasi untuk sains dan teknik menggunakan matlab edisi 4 - ...
 
Modul 2 Mengidentifikasi Komputer
Modul 2   Mengidentifikasi KomputerModul 2   Mengidentifikasi Komputer
Modul 2 Mengidentifikasi Komputer
 

Mehr von Lukmanulhakim Almamalik (20)

Promoting Green Financing Mechanisms.pdf
Promoting Green Financing Mechanisms.pdfPromoting Green Financing Mechanisms.pdf
Promoting Green Financing Mechanisms.pdf
 
UU_Perindustrian_No_3_2014.pdf
UU_Perindustrian_No_3_2014.pdfUU_Perindustrian_No_3_2014.pdf
UU_Perindustrian_No_3_2014.pdf
 
PENGENALAN PEMODELAN SISTEM DINAMIK MENGGUNAKAN VENSIM PLE
PENGENALAN PEMODELAN SISTEM DINAMIK MENGGUNAKAN  VENSIM PLEPENGENALAN PEMODELAN SISTEM DINAMIK MENGGUNAKAN  VENSIM PLE
PENGENALAN PEMODELAN SISTEM DINAMIK MENGGUNAKAN VENSIM PLE
 
Bahan kuliah ttm [compatibility mode]
Bahan kuliah ttm [compatibility mode]Bahan kuliah ttm [compatibility mode]
Bahan kuliah ttm [compatibility mode]
 
Buku systems thinking
Buku systems thinkingBuku systems thinking
Buku systems thinking
 
Ch22
Ch22Ch22
Ch22
 
Ch21
Ch21Ch21
Ch21
 
Ch20
Ch20Ch20
Ch20
 
Ch19
Ch19Ch19
Ch19
 
Ch18
Ch18Ch18
Ch18
 
Ch17
Ch17Ch17
Ch17
 
Ch17
Ch17Ch17
Ch17
 
Ch16
Ch16Ch16
Ch16
 
Ch15
Ch15Ch15
Ch15
 
Ch14
Ch14Ch14
Ch14
 
Ch13
Ch13Ch13
Ch13
 
Ch12
Ch12Ch12
Ch12
 
Ch11
Ch11Ch11
Ch11
 
Ch10
Ch10Ch10
Ch10
 
Ch09
Ch09Ch09
Ch09
 

MEMBANGUN ALGORITMA DASAR

  • 1. MATERI PELATIHAN BERBASIS KOMPETENSI SEKTOR TEKNOLOGI INFORMASI DAN KOMUNIKASI MEMBUAT ALGORITMA PEMROGRAMAN DASAR TIK.PR02.001.01 BUKU INFORMASI DEPARTEMEN TENAGA KERJA DAN TRANSMIGRASI R.I. DIREKTORAT JENDERAL PEMBINAAN PELATIHAN DAN PRODUKTIVITAS Jl. Jend. Gatot Subroto Kav.51 Lt.7.B Jakarta Selatan
  • 2. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 DAFTAR ISI Daftar IsiHal 2 BAB I PENGANTAR 5 1.1. Konsep Dasar Pelatihan Berbasis Kompetensi 5 1.2. Penjelasan Modul 5 1.3. Pengakuan Kompetensi Terkini (RCC) 7 1.4. Pengertian-pengertian Istilah 8 BAB II STANDAR KOMPETENSI 10 2.1. Peta Paket Pelatihan 10 2.2. Pengertian Unit Standar 10 2.3. Unit Kompetensi yang Dipelajari 10 2.3.1. Judul Unit ............................................................................ 11 Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 2 dari 77 Buku Informasi Versi: 01-09-2007
  • 3. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 2.3.2. Kode Unit ............................................................................ 11 2.3.3. Deskripsi Unit ............................................................................ 11 2.3.4. Elemen Kompetensi ............................................................................ 11 2.3.5. Kriteria Unjuk Kerja ............................................................................ 11 2.3.6. Batasan Variabel ............................................................................ 13 2.3.7. Panduan Penilaian ............................................................................ 13 2.3.8. Kompetensi Kunci ............................................................................ 15 BAB III STRATEGI DAN METODE PELATIHAN 16 3.1. Strategi Pelatihan 16 3.2. Metode Pelatihan 17 BAB IV MATERI UNIT KOMPETENSI 18 Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 3 dari 77 Buku Informasi Versi: 01-09-2007
  • 4. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 4.1 Tujuan Instruksional Umum .. 18 4.2 Tujuan Instruksional Khusus .. 18 4.3 Apa itu Algoritma Pemrograman . 19 4.4 Tipe Data, Variabel dan Konstanta ....................................................21 4.4.1 Tipe Data ....................................................................................22 4.4.1.1 Tipe Data Dasar .............................................................22 4.4.1.2 Tipe Data Bentukan ........................................................28 4.4.2 Variabel ...........................................................................32 4.4.3 Konstanta .........................................................................35 4.5 Alur Logika Program .........................................................................35 4.5.1 Proses Sekuensial ...........................................................35 4.5.2 Proses Percabangan ........................................................37 4.5.2.1 Proses Percabangan Tunggal ...............................38 4.5.2.2 Proses Percabangan Ganda .................................39 4.5.2.3 Proses Percabangan Lebih Dari 2 .........................41 4.5.2.4 Struktur Case .....................................................42 4.5.3 Proses Perulangan ..........................................................43 4.5.3.1 Struktur WHILE – DO ..........................................44 4.5.3.2 Struktur Do - While / Repeat – Until ....................47 4.5.3.3 Struktur FOR ......................................................49 4.6 Menerapkan Pengelolaan Array ........................................................51 4.6.1 Pengenalan Array ...........................................................51 4.6.2 Array N Dimensi ..............................................................56 4.6.3 Algoritma Pengurutan Data (Sorting Data) .......................59 4.6.4 Algoritma Pencarian Data (Searching Data) ......................61 4.7 Pengelolaan File ...............................................................................66 4.7.1 Membuka File .................................................................68 4.7.2 Memanipulasi File ...........................................................69 Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 4 dari 77 Buku Informasi Versi: 01-09-2007
  • 5. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 4.7.3 Menutup File ..................................................................71 BAB V SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN KOMPETENSI 73 5.1. Sumber Daya Manusia 73 5.2. Sumber-sumber Perpustakaan 74 5.3. Daftar Peralatan/Mesin dan Bahan 75 DAFTAR PUSTAKA 76 Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 5 dari 77 Buku Informasi Versi: 01-09-2007
  • 6. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 BAB I PENGANTAR 1.1. Konsep Dasar Pelatihan Berbasis Kompetensi • Apakah pelatihan berdasarkan kompetensi? Pelatihan berdasarkan kompetensi adalah pelatihan yang memperhatikan pengetahuan, keterampilan dan sikap yang diperlukan di tempat kerja agar dapat melakukan pekerjaan dengan kompeten. Standar Kompetensi dijelaskan oleh Kriteria Unjuk Kerja. • Apakah artinya menjadi kompeten ditempat kerja? Jika Anda kompeten dalam pekerjaan tertentu, Anda memiliki seluruh keterampilan, pengetahuan dan sikap yang perlu untuk ditampilkan secara efektif ditempat kerja, sesuai dengan standar yang telah disetujui. 1.2. Penjelasan Modul Modul ini dikonsep agar dapat digunakan pada proses Pelatihan Konvensional/Klasikal dan Pelatihan Individual/Mandiri. Yang dimaksud dengan Pelatihan Konvensional/Klasikal, yaitu pelatihan yang dilakukan dengan melibatkan bantuan seorang pembimbing atau guru seperti proses belajar mengajar sebagaimana biasanya dimana materi hampir sepenuhnya dijelaskan dan disampaikan pelatih/pembimbing yang bersangkutan. Sedangkan yang dimaksud dengan Pelatihan Mandiri/Individual adalah pelatihan yang dilakukan secara mandiri oleh peserta sendiri berdasarkan materi dan sumber-sumber informasi dan pengetahuan yang bersangkutan. Pelatihan mandiri cenderung lebih menekankan pada kemauan belajar peserta itu sendiri. Singkatnya pelatihan ini dilaksanakan peserta dengan menambahkan unsur- unsur atau sumber-sumber yang diperlukan baik dengan usahanya sendiri maupun melalui bantuan dari pelatih. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 6 dari 77 Buku Informasi Versi: 01-09-2007
  • 7. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 1.2.1 Desain Modul Modul ini didisain untuk dapat digunakan pada Pelatihan Klasikal dan Pelatihan Individual/mandiri : • Pelatihan klasikal adalah pelatihan yang disampaiakan oleh seorang pelatih. • Pelatihan individual/mandiri adalah pelatihan yang dilaksanakan oleh peserta dengan menambahkan unsur-unsur/sumber-sumber yang diperlukan dengan bantuan dari pelatih. 1.2.2. Isi Modul a. Buku Informasi Buku informasi ini adalah sumber pelatihan untuk pelatih maupun peserta pelatihan. b. Buku Kerja Buku kerja ini harus digunakan oleh peserta pelatihan untuk mencatat setiap pertanyaan dan kegiatan praktik baik dalam Pelatihan Klasikal maupun Pelatihan Individual / mandiri. Buku ini diberikan kepada peserta pelatihan dan berisi : Kegiatan-kegiatan yang akan membantu peserta pelatihan untuk mempelajari dan memahami informasi. • Kegiatan pemeriksaan yang digunakan untuk memonitor pencapaian keterampilan peserta pelatihan. • Kegiatan penilaian untuk menilai kemampuan peserta pelatihan dalam melaksanakan praktik kerja. c. Buku Penilaian Buku penilaian ini digunakan oleh pelatih untuk menilai jawaban dan tanggapan peserta pelatihan pada Buku Kerja dan berisi : • Kegiatan-kegiatan yang dilakukan oleh peserta pelatihan sebagai pernyataan keterampilan. • Metode-metode yang disarankan dalam proses penilaian keterampilan peserta pelatihan. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 7 dari 77 Buku Informasi Versi: 01-09-2007
  • 8. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 • Sumber-sumber yang digunakan oleh peserta pelatihan untuk mencapai keterampilan. • Semua jawaban pada setiap pertanyaan yang diisikan pada Buku Kerja. • Petunjuk bagi pelatih untuk menilai setiap kegiatan praktik. • Catatan pencapaian keterampilan peserta pelatihan. 1.2.3. Pelaksanaan Modul Pada pelatihan klasikal, pelatih akan : • Menyediakan Buku Informasi yang dapat digunakan peserta pelatihan sebagai sumber pelatihan. • Menyediakan salinan Buku Kerja kepada setiap peserta pelatihan. • Menggunakan Buku Informasi sebagai sumber utama dalam penyelenggaraan pelatihan. • Memastikan setiap peserta pelatihan memberikan jawaban / tanggapan dan menuliskan hasil tugas praktiknya pada Buku Kerja. Pada Pelatihan individual / mandiri, peserta pelatihan akan : • Menggunakan Buku Informasi sebagai sumber utama pelatihan. • Menyelesaikan setiap kegiatan yang terdapat pada buku Kerja. • Memberikan jawaban pada Buku Kerja. • Mengisikan hasil tugas praktik pada Buku Kerja. • Memiliki tanggapan-tanggapan dan hasil penilaian oleh pelatih. 1.3Pengakuan Kompetensi Terkini (RCC) • Apakah Pengakuan Kompetensi Terkini (Recognition of Current Competency). Jika Anda telah memiliki pengetahuan dan keterampilan yang diperlukan untuk elemen unit kompetensi tertentu, Anda dapat mengajukan pengakuan kompetensi terkini (RCC). Berarti Anda tidak akan dipersyaratkan untuk belajar kembali. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 8 dari 77 Buku Informasi Versi: 01-09-2007
  • 9. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 • Anda mungkin sudah memiliki pengetahuan dan keterampilan, karena Anda telah : a. Bekerja dalam suatu pekerjaan yang memerlukan suatu pengetahuan dan keterampilan yang sama atau b. Berpartisipasi dalam pelatihan yang mempelajari kompetensi yang sama atau c. Mempunyai pengalaman lainnya yang mengajarkan pengetahuan dan keterampilan yang sama. 1.4Pengertian-pengertian Istilah Profesi Profesi adalah suatu bidang pekerjaan yang menuntut sikap, pengetahuan serta keterampilan/keahlian kerja tertentu yang diperoleh dari proses pendidikan, pelatihan serta pengalaman kerja atau penguasaan sekumpulan kompetensi tertentu yang dituntut oleh suatu pekerjaan/jabatan. Standardisasi Standardisasi adalah proses merumuskan, menetapkan serta menerapkan suatu standar tertentu. Penilaian / Uji Kompetensi Penilaian atau Uji Kompetensi adalah proses pengumpulan bukti melalui perencanaan, pelaksanaan dan peninjauan ulang (review) penilaian serta keputusan mengenai apakah kompetensi sudah tercapai dengan membandingkan bukti-bukti yang dikumpulkan terhadap standar yang dipersyaratkan. Pelatihan Pelatihan adalah proses pembelajaran yang dilaksanakan untuk mencapai suatu kompetensi tertentu dimana materi, metode dan fasilitas pelatihan Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 9 dari 77 Buku Informasi Versi: 01-09-2007
  • 10. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 serta lingkungan belajar yang ada terfokus kepada pencapaian unjuk kerja pada kompetensi yang dipelajari. Kompetensi Kompetensi adalah kemampuan seseorang untuk menunjukkan aspek sikap, pengetahuan dan keterampilan serta penerapan dari ketiga aspek tersebut ditempat kerja untuk mwncapai unjuk kerja yang ditetapkan. Standar Kompetensi Standar kompetensi adalah standar yang ditampilkan dalam istilah-istilah hasil serta memiliki format standar yang terdiri dari judul unit, deskripsi unit, elemen kompetensi, kriteria unjuk kerja, ruang lingkup serta pedoman bukti. Sertifikat Kompetensi Adalah pengakuan tertulis atas penguasaan suatu kompetensi tertentu kepada seseorang yang dinyatakan kompeten yang diberikan oleh Lembaga Sertifikasi Profesi. Sertifikasi Kompetensi Adalah proses penerbitan sertifikat kompetensi melalui proses penilaian / uji kompetensi. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 10 dari 77 Buku Informasi Versi: 01-09-2007
  • 11. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 BAB II STANDAR KOMPETENSI 2.1. Peta Paket Pelatihan Modul yang sedang Anda pelajari ini adalah untuk mencapai satu unit kompetensi, yang termasuk dalam satu paket pelatihan, yang terdiri atas unit-unit kompetensi berikut: 2.1.1. TIK.PR2.001.01 Membuat Algoritma Pemrograman Dasar 2.1.2. OP02.003.01A Mengoperasikan Sistem Operasi Microsoft Windows 2.1.3. OP02.001.01 Mengoperasikan Komputer Personal Yang Berdiri Sendiri (PC Stand alone) 2.2. Pengertian Unit Standar Kompetensi Apakah Standar Kompetensi? Setiap Standar Kompetensi menentukan : a. Pengetahuan dan keterampilan yang diperlukan untuk mencapai kompetensi. b. Standar yang diperlukan untuk mendemonstrasikan kompetensi. c. Kondisi dimana kompetensi dicapai. Apa yang akan Anda pelajari dari Unit Kompetensi ini? Anda akan mempelajari tentang Algoritma Pemrograman dasar. Berapa lama Unit Kompetensi ini dapat diselesaikan? Pada sistem pelatihan berdasarkan kompetensi, fokusnya ada pada pencapaian kompetensi, bukan pada lamanya waktu. Namun diharapkan pelatihan ini dapat dilaksanakan dalam jangka waktu tiga sampai tujuh hari. Pelatihan ini dijutukan bagi semua user terutama yang tugasnya berkaitan dengan programming, seperti operator, programmer, staff support, dan staff admin. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 11 dari 77 Buku Informasi Versi: 01-09-2007
  • 12. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Berapa banyak/kesempatan yang Anda miliki untuk mencapai kompetensi? Jika Anda belum mencapai kompetensi pada usaha/kesempatan pertama, Pelatih Anda akan mengatur rencana pelatihan dengan Anda. Rencana ini akan memberikan Anda kesempatan kembali untuk meningkatkan level kompetensi Anda sesuai dengan level yang diperlukan. Jumlah maksimum usaha/kesempatan yang disarankan adalah 3 (tiga) kali. 2.3. Unit Kompetensi yang Dipelajari Dalam sistem pelatihan, Standar Kompetensi diharapkan menjadi panduan bagi peserta pelatihan untuk dapat : • mengidentifikasikan apa yang harus dikerjakan peserta pelatihan. • memeriksa kemajuan peserta pelatihan. • menyakinkan bahwa semua elemen (sub-kompetensi) dan criteria unjuk kerja telah dimasukkan dalam pelatihan dan penilaian. KODE UNIT : TIK.PR02.001.01 JUDUL UNIT : Membuat Algoritma Pemrograman Dasar DESKRIPSI UNIT : Unit ini menentukan kompetensi yang diperlukan untuk mempelajari algoritma yang akan diterapkan pada program, tidak tergantung bahasa pemrograman yang akan digunakan. Algoritma pemrograman merupakan materi dasar yang harus dikuasai oleh setiap programer. Untuk tingkat dasar ini penekanan kepada penguasaan algoritma dengan struktur data yang sederhana (melibatkan variabel statik) Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 12 dari 77 Buku Informasi Versi: 01-09-2007
  • 13. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 ELEMEN KOMPETENSI KRITERIA UNJUK KERJA 1 Menjelaskan varian dan invarian 1.1 Tipe data, variabel, konstanta dan parameter yang berlaku umum pada pemrograman dijelaskan. 1.2 Tipe data baru dan tipe data yang ada dibuat dan dijelaskan pemanfaatannya. 1.3 Pemakaian nama pada tipe data, variabel, konstanta dan parameter dijelaskan. 2 Membuat alur logika pemrograman 2.1 Algoritma dengan skema program sekuensial dibuat. 2.2 Algoritma dengan skema program percabangan dibuat. 2.3 Algoritma dengan skema program pengulangan dibuat. 3 Menerapkan pengelolaan array 3.1 Algoritma dibuat dengan array atau dimensi. 3.2 Algoritma pencarian data dan algoritma Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 13 dari 77 Buku Informasi Versi: 01-09-2007
  • 14. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 pengurutan data (sorting) dibuat dengan menggunakan array. 4 Memelihara pekerjaan secara praktis 4.1 Algoritma program penulisan data dan pembacaan data ke dalam media penyimpanan data berupa hard disk, floppy disk atau lainnya dibuat dan ditunjukkan. 4.2 Algoritma program pembacaan dan penulisan data dalam file dibuat secara sekuensial dan indeks. BATASAN VARIABEL 1. Unit ini berlaku untuk seluruh sektor teknologi informasi dan komunikasi. 2. Menjaga etika bersifat internal pada bidang teknologi informasi dan komunikasi. PANDUAN PENILAIAN 1. Pengetahuan dan keterampilan penunjang untuk mendemontrasikan kompetensi, memerlukan bukti keterampilan dan pengetahuan di bidang berikut ini : Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 14 dari 77 Buku Informasi Versi: 01-09-2007
  • 15. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 1.1 Pengetahuan dasar : 1.1.1 Matematika dasar dan matematika logika 1.1.2 Flowchart dan dasar pemrograman 1.2 Keterampilan dasar Mengoperasikan sistem komputer 2. Konteks penilaian Kompetensi harus diujikan di tempat kerja atau di tempat lain secara teori dengan kondisi kerja sesuai dengan keadaan normal. 3. Aspek penting penilaian Aspek yang harus diperhatikan: 3.1 Kemampuan mengidentifikasi varian dan invarian yang berlaku umum pada pemrograman. 3.2 Kemampuan mengidentifikasi alur logika pemrograman sekuensial dan membuat algoritma. 3.3 Kemampuan mengidentifikasi pengelolaan array pada program. 3.4 Kemampuan menyimpan program ke dalam media penyimpanan. 3.5 Kemampuan membuat program membaca dan menulis data ke dalam file secara sekuensial dan indeks. 4. Kaitan dengan unit-unit lainnya 0 4.1 Unit ini didukung oleh pengetahuan dan keterampilan dalam unit-unit kompetensi yang berkaitan dengan dasar-dasar teknologi informasi yaitu mengoperasikan PC dan sistem informasi. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 15 dari 77 Buku Informasi Versi: 01-09-2007
  • 16. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 4.2 Pengembangan pelatihan untuk memenuhi persyaratan dalam unit ini perlu dilakukan dengan hati-hati. Untuk pelatihan pra kejuruan umum, institusi harus menyediakan pelatihan yang mempertimbangkan serangkaian konteks industri seutuhnya tanpa bias terhadap sektor tertentu. Batasan variabel akan membantu dalam hal ini. Untuk sektor tertentu/khusus, pelatihan harus disesuaikan untuk memenuhi kebutuhan sektor tersebut. Kompetensi Kunci No Kompetensi Kunci Dalam Unit ini Tingkat 1 Mengumpulkan, mengorganisir dan menganalisa informasi 1 2 Mengkomunikasikan ide-ide dan informasi 2 3 Merencanakan dan mengorganisir aktivitas-aktivitas 2 4 Bekerja dengan orang lain dan kelompok 1 5 Menggunakan ide-ide dan teknik matematika 3 6 Memecahkan masalah 2 7 Menggunakan teknologi 1 BAB III STRATEGI DAN METODE PELATIHAN 3.1. Strategi Pelatihan Belajar dalam suatu sistem Berdasarkan Kompetensi berbeda dengan yang sedang “diajarkan” di kelas oleh Pelatih. Pada sistem ini Anda akan bertanggung jawab terhadap belajar Anda sendiri, artinya bahwa Anda perlu merencanakan Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 16 dari 77 Buku Informasi Versi: 01-09-2007
  • 17. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 belajar Anda dengan Pelatih dan kemudian melaksanakannya dengan tekun sesuai dengan rencana yang telah dibuat. Persiapan/perencanaan a. Membaca bahan/materi yang telah diidentifikasi dalam setiap tahap belajar dengan tujuan mendapatkan tinjauan umum mengenai isi proses belajar Anda. b. Membuat catatan terhadap apa yang telah dibaca. c. Memikirkan bagaimana pengetahuan baru yang diperoleh berhubungan dengan pengetahuan dan pengalaman yang telah Anda miliki. d. Merencanakan aplikasi praktik pengetahuan dan keterampilan Anda. Permulaan dari proses pembelajaran a. Mencoba mengerjakan seluruh pertanyaan dan tugas praktik yang terdapat pada tahap belajar. b. Merevisi dan meninjau materi belajar agar dapat menggabungkan pengetahuan Anda. Pengamatan terhadap tugas praktik a. Mengamati keterampilan praktik yang didemonstrasikan oleh Pelatih atau orang yang telah berpengalaman lainnya. b. Mengajukan pertanyaan kepada Pelatih tentang konsep sulit yang Anda temukan. Implementasi a. Menerapkan pelatihan kerja yang aman. b. Mengamati indicator kemajuan personal melalui kegiatan praktik. c. Mempraktikkan keterampilan baru yang telah Anda peroleh. Penilaian Melaksanakan tugas penilaian untuk penyelesaian belajar Anda. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 17 dari 77 Buku Informasi Versi: 01-09-2007
  • 18. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 3.2. Metode Pelatihan Terdapat tiga prinsip metode belajar yang dapat digunakan. Dalam beberapa kasus, kombinasi metode belajar mungkin dapat digunakan. Belajar secara mandiri Belajar secara mandiri membolehkan Anda untuk belajar secara individual, sesuai dengan kecepatan belajarnya masing-masing. Meskipun proses belajar dilaksanakan secara bebas, Anda disarankan untuk menemui Pelatih setiap saat untuk mengkonfirmasikan kemajuan dan mengatasi kesulitan belajar. Belajar Berkelompok Belajar berkelompok memungkinkan peserta untuk dating bersama secara teratur dan berpartisipasi dalam sesi belajar berkelompok. Walaupun proses belajar memiliki prinsip sesuai dengan kecepatan belajar masing-masing, sesi kelompok memberikan interaksi antar peserta, Pelatih dan pakar/ahli dari tempat kerja. Belajar terstruktur Belajar terstruktur meliputi sesi pertemuan kelas secara formal yang dilaksanakan oleh Pelatih atau ahli lainnya. Sesi belajar ini umumnya mencakup topic tertentu. BAB IV MATERI UNIT KOMPETENSI MEMBUAT ALGORITMA PEMROGRAMAN DASAR Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 18 dari 77 Buku Informasi Versi: 01-09-2007
  • 19. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 4.1 Tujuan Instruksional Umum o Siswa mampu mengerti tentang apa itu Algoritma Pemrograman. o Siswa mampu mengerti dasar – dasar Algoritma Pemrograman. o Siswa mampu berpikir secara logis dalam menyelesaikan masalah. o Siswa mampu menganalisa masalah dan menciptakan solusti untuk menyelesaikan sebuah masalah 4.2 Tujuan Instruksional Khusus o Siswa dapat mengetahui seberapa pentingnya Algoritma Pemrograman sebagai dasar untuk mempelajari pemrograman lanjut. o Siswa dapat mengerti dasar – dasar pemikiran dalam menyelesaikan masalah dalam pemrograman. o Siswa dapat mengerti tentang logika dasar pemrograman. o Siswa dapat mengerti tentang tipe – tipe data dasar dalam pemrograman. o Siswa dapat memahami tentang alur program meliputi sekuensial, percabangan dan perulangan. o Siswa dapat mengerti tentang dasar – dasar struktur data. o Siswa dapat memahami mengenai dasar – dasar file beserta pengelolaannya. Dasar – Dasar Pemrograman 4.3 Apa itu Algoritma Pemrograman ? Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 19 dari 77 Buku Informasi Versi: 01-09-2007
  • 20. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis. Berdasarkan defisini algoritma diatas maka dapat diartikan sebuah Algoritma Pemrograman adalah suatu urutan yang logis dan sistematis yang digunakan untuk menyelesaikan sebuah penyususan program komputer. Dasar – dasar dari algoritma pemrograman dibagi menjadi 3 bagian, yaitu 1 Proses 2 Instruksi 3 Aksi Pada dasarnya sebuah algoritma adalah deskripsi pelaksanaan suatu proses yang disusu berdasarkan sederetan langkah instruksi yang logis. Tiap langkah instruksi tersebut melakukan suatu tindakan (aksi) yang akan menghasilkan sejumlah operasi yang bersesuaian dengan aksi tersebut. Hasil yang diperoleh dari pengerjaan suatu aksi tersebut dapat dibandingkan berdasarkan keadaan sebelum aksi dimulai dan keadaan pada saat aksi selesai dikerjakan. (Lihat contoh dibawah) . Contoh kasus : Terdapat 2 Gelas A dan B, gelas A berisi warna merah dan gelas B berisi warna biru. Bagaimana memindahkan isi dari gelas A ke B dan gelas B ke A ? Deskripisi : Keadaan awal : Gelas A berisi warna merah dan gelas B berisi warna biru. Aksi : - - Pindahkan isi dari gelas A ke dalam gelas C - Pindahkan isi gelas B ke dalam gelas A - Pindahkan isi gelas C ke dalam gelas A. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 20 dari 77 Buku Informasi Versi: 01-09-2007
  • 21. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Keadaan akhir : Gelas A berisi warna biru dan gelas B berisi warna merah. Contoh diatas memperlihatkan urutan yang logis dalam menyelesaikan suatu masalah / memperoleh hasil yang diinginkan. Struktur Dasar Algortima 1. Runtunan (Sequence) 2. Pemilihan (Selection) 3. Pengulangan (Repetition) Runtunan Runtunan (Sequence) terdiri dari satu atau lebih instruksi yang akan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Urutan instruksi menentukan keadaan akhir algoritma, bila urutannya diubah akan memberikan hasil yang berbeda. Contoh : Instruksi 1 Instruksi 2 Instruksi 3 Pemilihan Pemilihan (Selection) adalah suatu kondisi dimana sebuah instruksi dijalankan apabila kondisi tertentu dipenuhi. Ini akan mengakibatkan tidak semua instruksi akan dijalankan sesuai urutan dan tidak semua instruksi akan dijalankan. Contoh : Jika nilai a lebih kecil dari 10 maka Cetak nilai a sebanyak 10 kali ke layar monitor Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 21 dari 77 Buku Informasi Versi: 01-09-2007
  • 22. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Pengulangan Salah satu kelebihan komputer adalah kemampuan untuk mengerjakan proses yang sama berulang kali tanpa mengenal lelah. Ini akan mengakibatkan sebuah instruksi mungkin dijalankan beberapa kali sebelum menjalankan instruksi yang lain. Contoh : Tuliskan angka dari 1 sampai 100 Angka = 0 Repeat Tuliskan angka Tambahkan nilai angka dengan 1 Until angka = 100 Pada praktenya, ketiga elemen itu dapat dikombinasikan menjadi sekumpulan instruksi yang membangun sebuah program komputer. Namun pemahaman tentang dasar dari masing – masing elemen sangatlah penting. 4.4 Tipe data, Variabel dan Konstanta Dalam pembahasan mengenai pengertian dan dasar – dasar dari algoritma pemrograman telah dijelaskan mengenai urutan kerja dari sekumpulan instruksi yang digunakan untuk memecahkan sebuah permasalahan. Pada pembahasan ini kita akan mempelajari beberapa hal, antara lain : 4.4.1 Tipe Data Pada dasarnya sebuah program komputer bekerja dengan memanipulasi obyek (data) di dalam memori. Obyek yang akan diprogram bermacam – Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 22 dari 77 Buku Informasi Versi: 01-09-2007
  • 23. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 macam jenis dan tipenya, misalnya nilai numerik, karakter, string dan rekaman (record). Tipe data terbagi menjadi beberapa bagian, antara lain : 4.4.1.1 Tipe Data Dasar A. Tipe Logika / Bilangan Logika Tipe data ini hanya memiliki 2 nilai saja, benar atau salah atau 0 atau 1. Nilai 0 ini akan melambangkan salah dan 1 akan melambangkan benar. Tipe data ini biasanya digunakan untuk operasi – operasi logika (logical operation). Operasi logika ini akan menghasilkan nilai dalam ranah tipe boolean, yaitu betul atau salah. Operasi yang dapat digunakan untuk operasi logika adalah : not, and, or dan xor. Dibawah ini akan diberikan contoh pemakaiannya : Jika a dan b adalah peubah (variabel) yang bertipe boolean / logika maka hasil variabel a dan b dengan operator boolean tersebut diberikan berdasarkan tabel kebenaran berikut : A B A and B A or B A xor B True True True true False True false false True True False True false True True False False False False False B. Tipe Bilangan Bulat Tipe ini adalah tipe yang sudah kita kenal dengan baik dalam kehidupan sehari – hari. Tipe data ini mempunyai nilai yang tidak mengandung pecahan desimal, misalnya : 34, 8, 1200, 10 dan seterusnya. Nama tipe dari bilangan bulat adalah integer. Secara teori, tipe bilangan bulat memiliki ranah nilai yang tidak terbatas dimulai dari minus tidak terhingga sampai plus tidak terhingga. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 23 dari 77 Buku Informasi Versi: 01-09-2007
  • 24. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Namum dalam penerapan algoritma kita dapat mendefinisikan tipe bilangan bulat dalam suatu rentang nilai tertentu. Penetapan rentang nilai ini dimaksudkan untuk menyatakan bahwa nilai dari suatu obyek hanya boleh pada ranah nilai tersebut. Contoh : Misalkan sebuah obyek jumlah murid 1 kelas yang berisi 100 orang, hendaknya didefinisikan pada tipe bilangan bulat yang memiliki rentang nilai dari 1 .. 100. Apabila sebuah obyek tidak didefinisikan rentang nilainya, maka dianggap obyek tersebut memiliki rentang nilai dari minus tidak terhingga sampai plus tidak terhingga. Pada implementasinya, tipe integer memulai rentang nilai yang terbatas dan tergantung dari setiap kompiler dimana kita membuat program aplikasinya. Berikut saya berikan contoh pada kompiler Turbo Pascal. Tipe Rentang Nilai Format Byte 0 ... 255 Unsigned 8 – bit Shortlist - 128 ... 127 Signed 8 – bit Word 0 ... 65535 Unsigned 16 – bit Integer - 32768 ... 32767 Signed 16 bit Longint -2147483648 ... 2147483647 Signed 32 bit Rentang nilai dari tipe data ini sangat bervariatif dan bergantung pada jenis program kompilernya. Contoh diatas tidak berlaku bagi semua jenis kompiler. Operasi Operasi yang dapat dilakukan pada tipe data ini ada 2 macam, yaitu : Operasi artimatika dan Operasi perbandingan. - Operasi Aritmatika Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 24 dari 77 Buku Informasi Versi: 01-09-2007
  • 25. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Operasi aritmatika pada bilangan bulat akan menghasilkan bilangan bulat juga. Operator aritmatika yang digunakan antara lain : + (penjumlahan) - (Pengurangan) * (Perkalian) Div (Pembagian) Mod (sisa hasil bagi) - Operasi Perbandingan Operasi perbandingan terhadap bilangan bulat dengan menggunakan operator relasional akan menghasilkan nilai booelan (true atau false). Operator perbandingan yang digunakan antara lain : < (lebih kecil) < (lebih kecil atau sama dengan) > (lebih besar atau sama dengan) == (sama dengan) ≠ (tidak sama dengan) Contoh operasi perbandingan : 3<8 (true) 9≤9 (true) ( 24 div 3) ≠ 8 (false) C. Tipe Bilangan Riil Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 25 dari 77 Buku Informasi Versi: 01-09-2007
  • 26. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Tipe bilangan riil adalah bilangan yang mengandung nilai pecahan / desimal misalnya 3.65, 0.0003, 29.0 dan lain lain. Karakter yang identik dengan bilangan desimal adalah harus selalu mengandung “.” (titik). Jadi apabila terdapat nilai 20 maka akan dianggap sebagai bilangan bulat, sedangkan nilai 20.0 akan dianggap sebagai bilangan riil. Selain itu bilangan riil juga dapat dituliskan dengan notasi eksponential (E) yang artinya perpangkatan sepuluh. Nama tipe dari bilangan riil ini lebih sering dikenal dengan real. Secara teoritis, tipe data ini memiliki ranah nilai yang tidak terbatas dimulai dari minus tak terhingga hingga plus tak terhingga. Namun pada implementasinya, tipe bilangan riil juga memiliki batas nilai yang tergantung pada masing – masing kompiler. Berikut akan diberikan contoh pada kompiler Turbo Pascal. Tipe Rentang Nilai Format Real 2.9 X 10 6 byte Single 4 byte Double 8 byte Extended 10 byte Operasi Operasi yang dapat dilakukan pada tipe data ini ada 2 macam, yaitu : Operasi artimatika dan Operasi perbandingan. - Operasi Aritmatika Operasi aritmatika pada bilangan riil akan menghasilkan bilangan riil juga. Operator aritmatika yang digunakan antara lain : + (penjumlahan) - (Pengurangan) * (Perkalian) Div (Pembagian) Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 26 dari 77 Buku Informasi Versi: 01-09-2007
  • 27. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Mod (sisa hasil bagi) - Operasi Perbandingan Operasi perbandingan terhadap bilangan riil dengan menggunakan operator relasional akan menghasilkan nilai booelan (true atau false). Operator perbandingan yang digunakan antara lain : < (lebih kecil) < (lebih kecil atau sama dengan) > (lebih besar atau sama dengan) == (sama dengan) ≠ (tidak sama dengan) Contoh operasi perbandingan : 0.003 < 0. 3 (true) 8.0 ≥ 5 (false) 3.0 ≠ 3.5 (true) D. Tipe Karakter Tipe data yang termasuk karakter ini adalah huruf – huruf alfabet, tanda baca, angka ‘0’, ‘1’, ‘2’, .... dan karakter – karakter khusus seperti ‘<’, ‘?’, dan sebagainya. Tipe data ini biasa dikenal sebagi char. Rentang nilai dari tipe data ini adalah karakter – karakter yang telah disebutkan diatas, untuk lebih detilnya dapat melihat pada buku – buku yang memuat daftar tabel ASCII. Karakteristik yang identik dengan tipe data ini adalah setiap karakter harus diapit dengan tanda petik tunggal. Contoh : ‘a’, ‘1’, ‘ ‘, ‘+’, ‘?’, ‘&’. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 27 dari 77 Buku Informasi Versi: 01-09-2007
  • 28. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Satu hal yang perlu diperhatikan adalah : bilangan 1 adalah integer dan ‘1’ adalah karakter. Operasi Satu – satunya operasi yang digunakan untuk tipe data ini adalah operasi perbandingan. - Operasi perbandingan Operasi perbandingan terhadap tipe data karakter dengan menggunakan operator relasional akan menghasilkan nilai boolean (true atau false). Operator perbandingan yang digunakan antara lain : < (lebih kecil) < (lebih kecil atau sama dengan) > (lebih besar atau sama dengan) == (sama dengan) ≠ (tidak sama dengan) Contoh : ‘a’ == ‘a’ (true) ‘m’ < ‘z’ (true) ‘y’ ≠ ‘Y’ Hal yang harus diperhatikan dalam operasi perbandingan pada tipe data karakter adalah operasi ini membandingkan kode ASCII diantara 2 obyek yang dibandingkan. Jadi bisa dilihat pada contoh diatas bahwa ‘y’ tidak sama dengan ‘Y’, ini dikarenakan kode ASCII dari 2 karakter tersebut memang berbeda. 4.4.1.2 Tipe Data Bentukan Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 28 dari 77 Buku Informasi Versi: 01-09-2007
  • 29. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 A. String / Kalimat String adalah sebuah kalimat atau dapat dikatakan merupakan kumpulan dari karakter. Tipe data ini dikenal juga dengan nama string. Rentang nilai dari string adalah sesuai dengan rentang nilai dari karakter (lihat pembahasan diatas). String adalah bentukan dari sederetan karakter yang dikombinasikan menjadi satu untuk membentuk sebuah arti tertentu. Contoh : “Bandung”, “Jakarta”, “ABCDE”, “12345” hal yang perlu diperhatikan adalah string “123” berbeda dengan 123. Operasi Operasi yang dapat dilakukan pada tipe data string ada 2 macam, yaitu : - Operasi Penyambungan (Concatenation) Operasi penyambungan ini berfungsi untuk menggabungkan 2 string atau lebih. Operator yang digunakan adalah “+” dan “&” (Tergantung dari jenis kompilernya) Contoh Concatenation : “TEKNIK “ + “INFORMATIKA” = “TEKNIK INFORMATIKA” “1” + “2” = “12” Hal yang perlu diperhatkan adalah operator “+” ini bukanlah operator penjumlahan / operator artimatika. - Operasi Perbandingan Operasi perbandingan terhadap tipe data string dengan menggunakan operator relasional akan menghasilkan nilai Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 29 dari 77 Buku Informasi Versi: 01-09-2007
  • 30. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 booelan (true atau false). Operator perbandingan yang digunakan antara lain : < (lebih kecil) < (lebih kecil atau sama dengan) > (lebih besar atau sama dengan) == (sama dengan) ≠ (tidak sama dengan) Contoh : “abcde” == “abc” (false) “aku” < “AKU” (true) Hal yang perlu diperhatikan dalam operasi perbandingan pada tipe data string adalah kompiler akan membandingkan berdasarkan kode ASCII dari tiap – tiap karakter terhadap kode ASCII dari obyek lainnya. Prinsip ini sebenarnya sama dengan prinisp operasi perbandingan pada tipe data karakter yang telah dijelaskan di atas. B. Tipe data dasar yang diberi nama tipe baru Pemrogram dapat memberi sebuah nama baru dati tipe data dasar yang ada, dengan menambahkan kata kunci type. Pengubahan nama ini biasanya digunakan bagi para programmer untuk memudahkan dalam penamaan pada variabel pada penulisan program. Contoh : Type bilBulat : integer Penulisan diatas berarti bilBulat memiliki tipe yang sama dengan integer dan dapat digunakan untuk mendeklarasikan sebuah obyek integer. C. Record / Rekaman Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 30 dari 77 Buku Informasi Versi: 01-09-2007
  • 31. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Tipe data rekaman atau bisa disebut record. Record ini merupakan dasar daripada pemrograman basis data. Pada dasarnya record adalah sekumpulan baris data yang tersusun dari beberapa field. Contoh : Nama Alamat Telp NO_Ktp Budi Gelong Baru 72 713.26.905 123/456/789 Pada contoh diatas akan menjelaskan mengenai dasar dari field dan record sendiri. Field adalah setiap kolom (nama, alamat, telp dan no ktp). Field ini adalah data tunggal yang berdiri sendiri dan belum memiliki arti yang sempurna sebelum disusun menjadi 1 kesatuan. Record adalah 1 baris data (Budi, Gelong Beru 72, 713.26.905,123/456/789). Record adalah sekumpulan baris data yang disusun dari field – field. Pendefinisian Tipe Data Record Pendefinisian tipe data record sangat tergantung dari bahasa pemrograman yang digunakan, disini akan diberikan contoh menggunakan bahasa pemrograman Turbo Pascal. Contoh : Record DataMhs adalah record yang menyimpan nilai ujian mahasiswa beserta kode mata kuliah yang diambil. Type DataMhs : record < NIM : string, Nama : string, KdMtk : string, nilai : real > Pendefinisian tipe data record menggunakan kata kunci type kemudian dilanjutkan dengan menuliskan nama Record dan menuliskan field – field yang ingin ditampung dalam 1 record. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 31 dari 77 Buku Informasi Versi: 01-09-2007
  • 32. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Penulisan dan pembacaan dari Record Sebelum mempelajar tentang bagaimana menulis dan membaca dari record, ada baiknya kita pelajari dahulu bagaimana mendefinisikan obyek dari sebuah tipe data record yang telah didefinisikan. Contoh : Misalkan anda mempunyai sebuah struktur record yang bernama DataMhs, dan saat ini hendak memberi nilai dari masing – masing field yang ada di dalam struktur tersebut. Buatlah obyek yang merujuk ke struktur record. DataMhs rudy Mendefinisikan obyek rudy sebagai obyek nyata dari DataMhs Memasukkan nilai ke dalam setiap field dalam struktur record Rudy.Nama = “Rudy Haryanto” Rudy.NIM = “0600671590” Rudy.KdMtk = “MTK001” Rudy.Nilai = 98 Menampilkan nilai dari struktur record ke standar output Cetak Rudy.NIM + Rudy.Nama + Rudy.KdMtk + Rudy.Nilai Akan memberikan hasil sama seperti contoh tabel diatas. Hal yang harus diperhatikan pada operator ‘+’ tersebut bukanlah operator artimatika dan berupa operator penggabungan string ( lihat pembahasan tipe data string ). Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 32 dari 77 Buku Informasi Versi: 01-09-2007
  • 33. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 4.4.2 Variabel Setiap mempelajari sebuah bahasa pemrograman anda pasti akan dihadapkan dengan yang namanya variabel. Variabel merupakan sebuah obyek yang digunakan untuk menyimpan data tertentu berdasarkan tipe data dasar tertentu. Setiap obyek yang ada di dunia pasti memiliki nama, begitu pula dalam bahasa pemrograman. Seluruh variabel yang dideklarasikan harus memiliki nama dan tipe dasarnya. Ini dimaksudkan untuk memudahkan kompiler dalam mengidentifikasi variabel – variabel yang digunakan dalam proses perhitungan. Variabel memiliki aturan dalam penamaan yang biasanya berlaku bagi hampir seluruh bahasa pemrograman. - Nama harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka , spasi atau karakter khusus lainnya - Bagi bahasa pemgograman tertentu huruf besar dan kecil tidak berpengaruh, tapi bagi bahasa pemrograman tertentu akan dibedakan. - Tidak boleh mengandung operator artimatika, tanda baca dan karakter khusus lainnya. - Tidak boleh dipisahkan menggunakan spasi, apabila ingin memisahkan harus menggunakan karakter “_”. - Panjang nama tidak dibatas, tetapi hendaknya tidak terlalu panjang sehingga tidak menimbuikan kebingungan saat menulis program. - Penamaan hendaknya disesuaikan dengan kegunaan dari variabel tersebut. Contoh : Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 33 dari 77 Buku Informasi Versi: 01-09-2007
  • 34. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Integer nilai_ujian (variabel bernama nilai_ujian dengan tipe integer) Integer nilai ujian (salah, mengandung spasi) String nama-murid (salah, mengandung karakter ‘-‘) String nama_murid (benar, menggunakan karakter “_”) Pemberian nilai pada variabel Setelah mempelajari bagaimana cara mendeklarasikan sebuah variabel, kita akan mempelajari bagaimana cara memberi nilai kedalam sebuah variabel berdasarkan tipe data dasarnya. A. Secara Langsung Pemberian nilai secara langsung ini berarti memberikan sebuah nilai ke dalam variabel secara langsung di dalam teks algortma program. Nilai yang diberikan dapat berupaq konstanta, tetapan atau nama variabel lain. Tipe yang diberikan harus sesuai dengan tipe data dari variabel penerima. Contoh : Integer nilai Nilai = 10 (benar) Integer nilai_2 Nilai2 = nilai (benar, memasukkan nilai dari variabel lain) Nilai2 = “alo” (salah, tipe dasarnya tidak sama) B. Melalui Piranti Masukan (Standart Input) Metode untuk memberikan nilai ke dalam sebuah variabel tidak hanya dilakukan secara langsung, namun juga dapat dilakukan melalui sebuah piranti masukan (keyboard, file ataupun database). Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 34 dari 77 Buku Informasi Versi: 01-09-2007
  • 35. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Setiap bahasa pemrograman menggunakan function yang berbeda – beda dalam menangani proses inputan nilai dari piranti masukan. Contoih dibawah ini menggunakan bahasa Turbo Pascal. Contoh : Integer nilai Read (nilai) Function read() ini digunakan untuk menerima inputan dary keyboard. Jadi ketika anda mengetikkan angka 10 dan menekan ENTER, maka nilai akan berisikan angka 10. Apabila anda mengetikkan nilai yang memiliki tipe yang berbeda dari pada tipe data dari variabel penampungnya, respon yang akan diberikan oleh kompiler berbeda – beda dan tergantung dari masing – masing kompiler. Ada yang langsung memberikan pesar error namun ada pula yang tetap dapat menjalankan instruksi selanjutnya baru kemudian menampilkan nilai yang salah ketika hendak mengakses isi dari variabel tersebut. 4.4.3 Konstanta Konstanta adalah sebuah variabel yang memiliki nilai yang tetap selama program berlangsung dan tidak dapat dirubah nilainya. Konstanta dibagi menjadi 2 bagian, yaitu : A. Konstanta yang telah ditetapkan Konstanta ini biasanya telah ada bersamaan dengan satu paket dari bahasa pemrograman yang digunakan, dan nilainya tidak dapat dirubah. Biasanya digunakan untuk mendukung function – Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 35 dari 77 Buku Informasi Versi: 01-09-2007
  • 36. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 function yang disediakan pada masing – masing bahasa pemrograman. B. Konstanta yang kita tetapkan sendiri Konstanta yang kita ciptakan sendiri, nama ataupun isi dari konstanta ini terserah pada kita. Kata kunci yang digunakan biasanya adalah const. Contoh : Const PHI = 3.14 Const keyWords = “rahasia” Const nMaks = 100 4.5 Alur Logika Program Algoritma Pemrograman terdiri dari sekumpulan instruksi yang disusun berdasarkan urutan logis tertentu untuk memecahkan suatu permasalahan. Alur logika program dibagi menjadi 3 bagian besar, antara lain : 4.5.1 Proses sekuensial Proses sekuensial berarti kompiler program akan menjalankan instruksi yang ada satu persatu hingga ditemukan dari akhir sebuah instruksi. Karakteristik dari proses sekuensial adalah : - Setiap instruksi dikerjakan satu per satu - Setiap instruksi dijalankan hanya sekali saja, tidak ada perulangan. - Setiap instruksi dijalankan tepat sesuai dengan urutan sebagaimana ditulis di dalam teks algoritma - Kompiler akan berhenti menjalankan instruksi setelah bertemu dengan instruksi terakhir. Contoh : Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 36 dari 77 Buku Informasi Versi: 01-09-2007
  • 37. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Penulisan contoh ini menggunakan bahasa pseudocode dan bahasa pemgoraman Turbo C. Pseudocode String nama Integer nilai Read nama Read nilai Nilai = nilai * 1.4 Print “Nama anda : “ + nama + “ Nilai anda : “ + nilai Bahasa C #include <stdio.h> void main(){ // deklarasi variabel berdasarkan tipe data dasarnya. char *nama; int nilai; // instruksi secara sekuensial mulai dilaksanakan. scanf(“%s”,nama); scanf(“%d”,&nilai); nilai = nilai * 1.4; printf(“Nama anda : %s Nilai anda : %d“,nama,&nilai); // akhir dari instruksi dilaksanakan. } Kedua contoh diatas sama – sama menggunakan konsep sekuensial meskipun menggunakan 2 jenis bahasa pemrograman yang berbeda. Program akan menjalankan instruksi pertama dengan mendeklarasikan variabel kemudian menjalankan proses input data, mengalikan isi dari variabel nilai sebanyak 1.4 dan instruksi terakhir adalah menuliskan hasilnya Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 37 dari 77 Buku Informasi Versi: 01-09-2007
  • 38. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 ke stardar output (biasanya monitor), setelah itu program akan sslesai karena tidak instruksi lagi yang dijalankan. Hal yang perlu diperhatikan adalah : Urutan sebuah instruksi sangat memgang peranan yang dominan, apabila instruksi diatas posisinya ditukar antara : Scanf(“%d”, &nilai); dan Nilai = nilai * 1.4; Maka dapat dipastikan akan memberikan hasil yang sangat berbeda dari yang kita inginkan, karena kompiler hanya menjalankan sesuai dengan peletakan urutan instruksi saja. 4.5.2 Proses percabangan Percabangan adalah suatu kondisi dimana sebuah instruksi tidak dijalankan secara sekuensial, tetapi lebih berdasarkan pada kondisi – kondisi tertentu yang ditetapkan oleh pembuat program. Pada inti pemrograman, percabangan memegang peranan yang sangat penting dalam penyusunan program. Contoh : - Sebuah sistem menginginkan adanya otorisasi kepada pengguna. Sehingga pengguna yang namanya terdaftar di data perusahaan yang bisa menggunakan sistem tersebut. - Sebuah program menginginkan pencatatan data hanya dapat dilakukan pada pukul 09.00 – 10.00. - Dan lain sebagainya. Proses percabangan memiliki 3 jenis, antara lain : 4.5.2.1 Percabangan Tunggal Percabangan tunggal bekerja apabila hanya ada 1 alternatif instruksi saja yang dijalankan. Logika ini memungkinkan kompiler untuk Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 38 dari 77 Buku Informasi Versi: 01-09-2007
  • 39. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 menjalankan sebuah instruksi atau tidak sama sekali. Kompiler baru akan menjalankan instruksi yang ada di dalam notasi percabangan apabila kondisi yang diinginkan terpenuhi atau memberikan nilai akhir true. Apabila kondisi tersebut memberikan nilai akhir false maka tidak akan ada instruksi yang dijalankan. Notasi algortimik yang dgunakan adalah : If (kondisi) { Instruksi yang hendak dijalankan ...... } Notasi algoritmik yang digunakan ini masing – masing berbeda tergantung dari bahasa pemrograman yang dipakai. Pada pembahasan ini kami menggunakan contoh menggunakan bahasa pemrograman Turbo C. Contoh : Program membaca inputan dari keyboard dan apabila diinput oleh karakter vokal maka program akan menuliskan “Huruf Hidup” dan apabila bukan maka program tidak akan menjalankan apapun. #include <stdio.h> void main(){ char huruf; scanf(“%c”,&huruf); if (huruf == ‘a’ || huruf = ‘i’ || huruf = ‘u’ || huruf ==’e’ || huruf == ‘o’) printf (“Huruf Hidup”); } Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 39 dari 77 Buku Informasi Versi: 01-09-2007
  • 40. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Program membacan apakah bilangan yang diinput habis dibagi 2 atau tidak, apabila habis dibagi 2 maka program akan menuliskan “Bilangan genap” dan bukan maka program tidak akan menjalankan apapun. #include <stdio.h> void main(){ int angka; scanf(“%d”,&angka); if (angka % 2 == 0) printf (“Bilangan Genap”);} 4.5.2.2 Percabangan Ganda Percabangan ganda apabila terdapat 2 alternatid instruksi yang dijalankan. Logika ini memungkinkan kompiler menjalankan salah satu dari 2 alternatif instruksi yang ada, dan salah satu instruksi pasti dijalankan. Notasi algoritmik yang digunkanan : If (kondisi) { Instruksi pertama }else{ Instruksi kedua } Contoh : Program memeriksa inputan apakah bilangan ganjil atau genap. Apabila diperiksa bilangan genap maka tulis “Bilangan genap” dan kalau bukan maka tulis “Bilangan ganjil”. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 40 dari 77 Buku Informasi Versi: 01-09-2007
  • 41. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 #include <stdio.h> void main(){ int angka; scanf(“%d”,&angka); if (angka % 2 == 0) printf (“Bilangan Genap”); else printf(“Bilangan Ganjil”); } Program memeriksa bilangan yang lebih besar dari 2 inputan bilangan. #include <stdio.h> void main(){ int angka1, angka2; scanf(“%d”,&angka1); scanf(“%d”,&angka2); if (angka1 > angka2) printf (“Bilangan pertama lebih besar dari Bilangan kedua”); elseprintf (“Bilangan kedua lebih besar dari Bilangan pertama”); } 4.5.2.3 Percabangan Lebih dari 2 Pada dasarnya hanya terdapat 2 jenis seleksi dalam struktur algoritma pemrograman, namun bukan berarti hanya bisa dikembangkan pada 2 jenis tersebut saja. Struktur seleksi dapat dikembangkan menjadi bentuk yang tidak terbatas dan dapat dikombinasikan kedalam bentuk perulangan selama notasi penulisannya tidak terdapat kesalahan. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 41 dari 77 Buku Informasi Versi: 01-09-2007
  • 42. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Kemampuan logika seseorang dalam merancang program dan mengamati dari permasalahan yang ada menjadi bagian yang paling penting dalam melakukan pengembangan dari bentuk seleksi ini. Dibawah ini akan diberikan contoh seleksi menggunakan kondisi lebih dari 2. Contoh : Program untuk menentukan grade dari sebuah nilai ujian, dengan aturan grade A untuk rentang nilai 80 – 100, grade B untuk nilai 70 – 80 dan grade C untuk nilai 50 – 70 dan grade D untuk nilai dibawah itu. #include <stdio.h> void main(){ int nilai; scanf(“%d”,&nilai); if (nilai >= 80 && nilai <= 100) print(“Grade A”); else if (nilai >= 70 && nilai <= 80) printf(“Grade B”); else if (nilai >= 50 && nilai <= 70) printf(“Grade C”); else printf(“Grade D”); } 4.5.2.4 Struktur Case Struktur case sebenarnya memiliki fungsi yang sama dengan struktur if yang telah kita pelajari diatas. Struktur case ini dapat meringkaskan alur logika yang terjadi apabila diaplikasikan pada pada alur seleksi yang memiliki lebih dari 2 kondisi. Berikut adalah notasi algoritmiknya : switch (kondisi){ Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 42 dari 77 Buku Informasi Versi: 01-09-2007
  • 43. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 case kondisi_1 : break; case kondisi2 : break; default : } Struktur logika seleksi menggunakan struktur case ini jauh lebih ringkas apabila diaplikasikan pada struktur seleksi yang memiliki kondisi lebih dari 2. Kompiler program akan menjalankan instruksi dari struktur case dan memeriksa setiap kondisi yang ada, apabila belum ada kondisi yang bernilai benar maka kompiler akan terus menjalankan instruksi dibawahnya sampai ditemukan kondisi yang bernilai benar. Namun apabila hingga kondisi terakhir diperiksa dan tidak ditemukan kondisi yang bernilai benar maka kondisi default yang akan dijalankan. Contoh : Program untuk menentukan apakah karakter ‘%’, spasi, ‘&’ atau ‘$’ yang ditekan oleh pengguna melalui keyboard. #include <stdio.h> void main(){ int tombol; scanf(“%d”,&tombol); swicth(tombol){ case ‘32’: printf(“Anda menekan tombol spasi”); break; case ’36: printf(“Anda menekan tombol $”); break; case ‘37’ : printf(“Anda menekan tombol %”); Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 43 dari 77 Buku Informasi Versi: 01-09-2007
  • 44. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 break; case ‘38’: printf(“Anda menekan tombol &”); break; default : printf(“Anda tidak mematahui aturan.”); }} Perbedaan yang paling jelas antara stukrut if dengan struktur case adalah : - Struktur if dapat menerima kondisi yang berupa operasi logika. Sedangkan stuktur case tidak. - Struktur case lebih efektif apabila digunakan untuk logika seleksi lebih dari 2 kondisi. - Struktur case dan sktuktur if dapat dikombinasikan kedalam satu bagian, dengan catatan tata cara penulisan notasi tidak terdapat kesalahan. - Struktur case tidak dapat melakukan pengecekan terhadap tipe data string / kalimat. 4.5.3 Proses perulangan Salah satu bagian yang paling membedakan antara manusia dengan komputer adalah : Komputer mampu mengerjakan instruksi dalam hitungan ribuan bahkan jutaan kali tanpa mengenal lelah. Dalam mempelajari algoritma pemrograman, struktur perulangan menjadi bagian yang sangat penting untuk dipelajari. Struktur Perulangan Struktur perulangan terdiri dari 2 bagian, yaitu : 1. Kondisi perulangan, yaitu ekspresi yang dilakukan sebelum pengulangan dilakukan pertama kali. 2. Body atau tubuh pengulangan, yaitu satu atau lebih instruksi yang diulang. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 44 dari 77 Buku Informasi Versi: 01-09-2007
  • 45. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Selain itu biasanya di perulangan juga terdapat 2 hal dibawah ini, antara lain : 1. Inisialisasi : aksi yang dilakukan sebelum pengulangan dilakukan pertama kali. 2. Terminasi : aksi yang dilakukan untuk membuat perulangan berakhir. Biasanya berupa sebuah kondisi. Dalam setiap bahasa pemrograman pada umumnya biasanya terdapat 3 jenis perulangan, antara lain : 1. Struktur WHILE – DO 2. Struktur Do – WHILE / REPEAT – UNTIL 3. Struktur FOR. Ketiga jenis diatas hanyalah sebuah metode dan pada implementasinya, notasi penulisannya (sintaks) sangat tergantung dari setiap bahasa pemrograman yang digunakan. 4.5.3.1 Struktur WHILE – DO Ciri khas dari struktur ini adalah : - Dilakukan pengencekan di awal pada kondisi sebelum menjalankan instruksi di tubuh perulangan. - Ada kemungkinan tubuh perulangan tidak dijalankan sama sekali. - Setiap kali hendak melakukan perulangan berikutnya, selalu memeriksa kondisi perulangan. Apabila kondisi perulangan telah - memberikan nilai false / salah. Maka perulangan akan dihentikan. Notasi algoritmiknya adalah : while (KONDISI){ tubuh perulangan yang berisi instruksi untuk dijalankan. } Contoh : Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 45 dari 77 Buku Informasi Versi: 01-09-2007
  • 46. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Progam membuat tulisan di angka 1 .. 100. # include <stdio.h> void main(){ int nilai_awal = 1; // inisialisasi awal. Sangat penting. While (nilai_awal <= 100){ Printf(“/n%d”,nilai_awal); Nilai_awal ++; // memanipulasi variabel awal agar tercapai kondisi terminasi. }} Dalam struktur perulangan ini, ada 2 hal yang harus diperhatikan untuk menghindari terjadinya kesalahan logika pada program. - Inisialisasi variabel awal. Ini dimaksudkan agar ketika kompiler program melakukan pemeriksaan terhadap kondisi awal, ditemukan kondisi yang benar. Pada beberapa bahasa pemrograman tertentu, apabila sebuah variabel tidak diinisialisasikan maka nilainya bisa berupa random ataupun nol. (lihat contoh dibawah) - Manipulasi variabel awal. Banyak terjadi kesalahan pada programmer ketika mereka membuat program perulangan, memanipulasi variabel kondisi sangat penting untuk menjaga program tetap sesuai dengan yang diinginkan. Ketika kita lupa memanipulasi variabel awal, ada kemungkinan program mengulang terus menerus (looping forever) karena kondisi yang diinginkan tercapat terus tanpa ada perubahan. (lihat contoh dbawah) Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 46 dari 77 Buku Informasi Versi: 01-09-2007
  • 47. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Contoh 1 : Program menulis angka dari 1 .. 100. # include <stdio.h> void main(){ int nilai_awal ; // tidak dilakukan inisialisasi awal. While (nilai_awal <= 100){ printf(“/n%d”,nilai_awal); Nilai_awal ++; // memanipulasi variabel awal agar tercapai kondisi terminasi. }} Program diatas tidak melakukan inisialisasi awal terhadap variabel nilai_awal, sehingga ada kemungkinan nilai_awal berisni nilai random. Misalkan nilai_awal berisi -1200, dan secara logika -1200 memang kurang dari 100. Maka program bukan mencetak 1 – 100, melainkan mencetak -1200 – 100. Contoh 2 : Program menulis angka dari 1 .. 100. # include <stdio.h> void main(){ int nilai_awal = 1; // inisialisasi awal dilakukan While (nilai_awal <= 100){ Printf(“/n%d”,nilai_awal); }} Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 47 dari 77 Buku Informasi Versi: 01-09-2007
  • 48. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Program diatas tidak melakukan manipulasi terhadap nilai_awal , sehingga nilainya selalu 1. Program bukannya mencetak 1 – 100, melainkan mencetak angka 1 terus menerus dan tidak pernah berhenti karena kondisi perulangan selalu benar. 4.5.3.2 Struktur Do – WHILE / REPEAT – UNTIL Struktur Do = WHILE / REPEAT – UNTIL hampir mirip dengan struktur WHILE – DO. Berikut adalah ciri khas dari struktur perulangan ini. - Tidak dilakukan pengecekan kondisi perulangan di awal eksekusi program. - Minimal perulangan yang terjadi di tubuh program sebanyak 1 kali (Kerena tidak ada pengecekan kondisi perulanga di awal). - Setiap kali hendak melakukan perulangan berikutnya, selalu memeriksa kondisi perulangan. Apabila kondisi perulangan telah memberikan nilai false / salah. Maka perulangan akan dihentikan. Perbedaan paling mendasar sebenarnya terletak pada pengecekan kondisi perulangan, struktur ini melakukan pengecekan kondisi perulangan di akhir tubuh perulangan (bukan di awal seperti struktur WHILE – DO) sehingga mengakibatkan instruksi dijalankan minimal 1 kali. Notasi algoritmiknya adalah : do { repeat Tubuh perulangan atau }while (KONDISI); until KONDISI Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 48 dari 77 Buku Informasi Versi: 01-09-2007
  • 49. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Pada impelemntasinya notasi penulisan struktur perulangan ini juga bergantung pada bahasa pemgoraman yang digunakan. Pembahasan ini menggunakan bahasa pemrograman Turbo C dan leih ditekankan kepada konsep – konsep perulangannya. Contoh : Program menulis angka dari 1 .. 100. # include <stdio.h> void main(){ int nilai_awal = 1; // inisialisasi awal dilakukan do{ Printf(“/n%d”,nilai_awal); Nilai_awal += 1;// tambahkan nilai_awal sebanyak 1. }while(nilai_awal <= 100); } Program untuk meminta inputan dari keyboard, apabila pengguna menekan tombol esc maka program akan berhenti. #include <stdio.h> #include <conio.h> void main(){ char tombol; do{ tombol = getch(); // peminta penekanan tombol dari keyboard. // selama tombol yang ditekan tidak memiliki ASCII = 27 (tombol esc) maka // program akan tetap berjalan. }while (tombol != 27); Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 49 dari 77 Buku Informasi Versi: 01-09-2007
  • 50. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 // program berhenti, karena pengguna telah menekan tombol escape. } Kapan menggunakan WHILE – DO atau Do – WHILE ? Pemilihan antara kedua struktur ini sangat tergantung pada permasalahan yang dihadapi. Apabila sebuah program memerlukan instruksi dijalankan dahulu dan baru diperiksa kondisinya maka strukltur DO – WHILE harus digunakan namun apabila sebuha program harus memeriksa kondisi perulangan terlebih dahulu dan baru menjalankan tubuh perulangan, maka kondisi WHILE – DO harus digunakan. 4.5.3.3 Struktur FOR Struktur perulangan for ini digunakan untuk perulangan yang tidak perlu memeriksa kondisi apapun dan hanya melaksanakan perulangan sejumlah kali tertentu. Struktur perulangan ini paling cocok untuk proses perulangan yang telah diketahui batas akhirnya, karena kompiler akan mengeksekusi lebih cepat daripada 2 jenis struktur perulangan diatas. Notasi algoritmiknya : For (variabel awal = nilai awal; kondisi ; faktor penaik){ Tubuh perulangan } Contoh : Program menulis bilangan genap dari 2 – 100. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 50 dari 77 Buku Informasi Versi: 01-09-2007
  • 51. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 #include <stdio.h> void main(){ int nilai_genap = 2; // inisialisasi awal. for (nilai_genap =2; nilai_genap <= 100; nilai_genap+=2) printf(“%d”,&nilai_genap);} Program diatas akan melakukan inisialisasi nilai_genap sebanyak 2, dan setelah itu akan dilakukan pemeriksaan apakan kondisi terpenuhi / memberikan nilai benar. Apabila kondisi terpenuhi maka tubuh perulangna akan dijalankan ( mencetak nilai dari nilai_genap) dan kemudian menaikkan nilai_genap sebanyak 2. Setlah itu akan dilakukan pemeriksaan kondisi sekali lagi, dan apabila kondisi tersebut terpenuhi maka tubuh perulangan akan dijalankan lagi sedangkan apabila kondisi perulangan tidak terpenuhi maka struktur perulangan akan berakhir. Inti dari struktur perulangan ini adalah : - Lebih cocok untuk jenis perulangan yang memiliki batas akhir yang sudah jelas. - Pemeriksaan kondisi awal akan dilakukan di awal. Apabila kondisi terpenuhi, maka tubuh perulangan akan dilakukan. Apabila tidak, maka tubuh perulangan tidak akan pernah dilakukan. - Ada kemungkinan tubuh perulangan tidak dijalankan sama sekali. - Memiliki proses yang lebih cepat dibandingkan bentuk DO – WHILE atau WHLE – DO dalam proses perhitungan matematika. 4.6 Menerapkan Pengelolaan Array 4.6.1 Pengenalan Array. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 51 dari 77 Buku Informasi Versi: 01-09-2007
  • 52. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Sebuah variabel hanya mampu menyimpan sebuah nilai berdasarkan tipe data tertentu, variabel tidak mampu menyimpan beberapa buah data dengan tipe yang sejenis. Seringkali dalam pemrograman kita harus mengolah sekumpulan data dengan tipe data yang sama. Misalnya nilau ujian 50 orang, no telp dari seluruh karyawan, dan sebagainya. Apabila kita mengacu pada penggunaan variabel, maka dapat dibayangkan berapa banyak nama variabel yang akan diperlukan dan betapa sukarnya untuk mengorganisasi variabel sebanyak itu. Array mampu memberikan solusi atas permasalah tersebut, karena dengan penggunaan array tidak diperlukan lagi perulangan variabel yang memilikit tipe data dasar sama dengan nama berbeda. Array adalah struktur data yang mampu menyimpan sekumpulan data dengan tipe yang sama, setiap elemen data dipisahkan menggunakan indeks. Pada bahasa pemrograman pada umumnya, indeks dari sebuah array selalu diawali dari 0 hingga n -1 (n = jumlah elemen maksimum). Contoh : Terdapat struktur data array bertipe integer, dengan 5 buah elemen didalamnya. Indeks = 0 Indeks = 1 Indeks = 2 Indeks = 3 Indeks = 4 Nilai = 10 Nilai = 20 Nilai = 30 Nilai = 40 Nilai = 50 Pada tabel diatas terdapat 2 buah penamaan, indeks dan nilai. Indeks adalah sebuah nilai yang menjadi identitas dari masing – masing elemen data dari sebuah struktur array. Nilai adalah nilai nyata yang tersimpan pada setiap elemen pada indeks tertentu dari sebuah struktur array. Hal yang harus diperhatikan dalam menyimpan data pada elemen array adalah kesamaan tipe data, karena tidak mungkin menyimpan data yang berbeda – beda kedalam sebuah struktur array. Pendeklarasian Array Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 52 dari 77 Buku Informasi Versi: 01-09-2007
  • 53. Materi Pelatihan Berbasis Kompetensi Kode Modul Sektor Telematika Sub Sektor Programmer Komputer TIK.PR02.001.01 Pendeklarasian array tidak bedanya dengan pendeklarasian variabel biasa, terdapat aturan – aturan penamaan yang sama persis dengan aturan penamaan variabel. Perbedaannya terletak pada : - Saat pendeklarasian array, hendaknya menentukan tipe dari array tersebut. - Saat pendeklarasian array, hendaknya menentukan jumlah dari elemen yang terkandung di dalam struktur array tersebut. Dalam menentukan jumlah elemen dari array hendaknya diperhatikan dengan baik, karena banyaknya elemen array berarti memesan sejumlah tempat di memori komputer. Tipe data array dapat berupa tipe sederhana (integer, char, double, boolean) ataupun tipe terstruktur (record). Contoh : int nilai[10]; Perintah diatas akan memberikan instruksi untuk memesan 10 tempat di memori komputer bertipe integer. Variabel array nilai memiliki indeks mulai dari 0 hingga 9. Contoh lain : char nama[100], double nilai_ujian[100]; Mengakses Elemen Array Setelah struktut array dideklarasikan, tiba saatnya untuk mengakses masing – masing elemen dari struktur array tersebut. Cara pengaksesannya sangat mudah dan hampir sama dengan proses pemberian nilai kepada sebuah variabel. Hanya disini yang harus diperhatikan adalah indeks setiap elemen array, karena kesalahan yang timbul akibat kesalahan pemberian indeks pada array akan mengakibatkan data dikirim pada tempat yang salah. Judul Modul: Membuat Algoritma Pemrograman Dasar Halaman: 53 dari 77 Buku Informasi Versi: 01-09-2007