SlideShare a Scribd company logo
1 of 65
Download to read offline
Nama Kelompok :
                                                   Subchi           (13071567)
                                                   Teguh Pamungkas  (13071571)
                                                   Rino Ari Widodo  (13071575)
                                                   Restu Subiandana (13071583)
                                                   Suci Nur Endah   (13071588)

                                   PERTEMUAN 1

                    PENGENALAN DASAR PEMROGRAMAN
I. Pengertian
   Program adalah pernyataan yang disusun menjadi satu kesatuan prosedur yang berupa
   urutan langkah yang disusun secara logis dan sistematis untuk menyelesaikan
   masalah.
   Bahasa Pemrograman adalah prosedur penulisan program.
   Terdapat 3 faktor penting dalam bahasapemrograman :
   1. Sintaks adalah aturan penulisan bahasa tersebut (tata bahasanya).
   2. Semantik adalah arti atau maksud yang terkandung didalam statement tersebut.
   3. Kebenaran logika adalah berhubungan dengan benar tidaknya urutan statement.
   Pemrograman       adalah   proses   mengimplementasikan      urutan    langkah   untuk
   menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman.
   Dalam pengolahan data memerlukan beberapa aspek-aspek dasar yaitu :
   A. Brainware
      Tenaga pelaksana yang menjalankan serta mengawasi pengoperasian sistem unit
      komputer didalam proses pengolahan data untuk menghasilkan suatu informasi
      yang tepat waktu, tepat guna dan akurat.
      Contoh : Sistem Analis, Programmer, operator, Technical Support, dll.
   B. Hardware
      Serangkaian unsur-unsur yang terdiri dari beberapa perangkat keras komputer
      yang digunakan untuk membantu proses kerja manusia ( Brainware ).
      Contoh : CPU, Monitor, Keyboard
C. Software
     Serangkaian unsur-unsur yang terdiri dari beberapa perangkat lunak program
     komputer yang digunakan untuk membantu proses kerja manusia ( Brainware ).
     Contoh : Sistem Software, Application Software, Package Software, dll


II. Bahasa Pemrograman Berdasarkan Perkembangan
  A. Machine Language
     Bahasa Pemrograman yang hanya dapat dimengerti oleh mesin ( komputer ) yang
     didalamnya terdapat CPU yang hanya mengenal 2 (dua) keadaaan yang
     berlawanan, yaitu :
     -   Bila tejadi kontak (ada arus) bernilai 1
     -   Bila kontak terputus (tidak ada arus) bernilai 0
  B. Low Level Language (Bahasa Tingkat Rendah)
     Karena susahnya bahasa mesin, maka dibuatlah simbol yang mudah diingat yang
     disebut dengan “Mnemonics” ( Pembantu untuk mengingat ).
     Contohnya : A : Untuk kata Add (Menambahkan)
     B : Untuk kata Substract (mengurangi )
     Mov : Untuk kata Move ( Memindahkan )
     Bahasa Pemrograman yang menerjemahkan Mnemonics disebut Assembler.
  C. Middle Level Language (Bahasa Tingkat Menengah)
     Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam
     penulisanpernyataan, mudah untuk dipahami dan memilik instruksi - instruksi
     tertentu yang dapat langsungdiakses oleh komputer.
     Contohnya adalah bahasa C.
  D. High Level Language (Bahasa tingkat tinggi)
     Bahasa Pemrograman yang dalam penulisan pernyataannya mudah dipahami
     secara langsung. Bahasa pemrograman ini terbagi menjadi 2 yaitu :
     1. Procedure Oriented Language
         a. Scientific,       digunakan        untuk        memecahkan       persoalan
            Matematis/perhitungan
            Misal : Algol, Fortran, Pascal, Basic
b. Bussines, digunakan untuk memecahkan persoalan dalam bidang bisnis.
             Misal : Cobol, PL/1.
     2. Problem Oriented Language
         Misal : RPG (Report Program Generator).
  E. Object Oriented Language(Bahasa berorientasi obyek)
     Bahasa pemrograman yang berorientasi pada obyek. Bahasa pemrograman ini
     mengandung fungsi-fungsi untuk menyelesaikan suatu permasalahan dan program
     tidak harus menulis secara detail semua pernyataannya, tetapi cukup memasukkan
     kriteria-kriteria yang dikehendaki saja
     Contohnya : Visual dBase, Visual FoxPro, Delphi, Visual C , dll.
III. Kerangka Dasar Pemrograman
    Originating : tahap ini berhubungan dengan proses pengumpulan data, yang
    biasanya merupakan proses pencatatan(recording) data ke dokumen dasar.
    Input : Tahap ini merupakan proses pemasukan data(entry data) ke dalam proses
    komputer melalui peralatan input(input device)
    Process : Tahap ini merupakan proses pengolahan data dari data yang sudah
    dimasukkan yang berupa proses menghitung, membandingkan, mengklasifikasikan,
    mengurutkan, mengendalikan dan mecari di storage.
    Output : Tahap ini merupakan proses untuk menghasilkan keluaran dari proses
    pengolahan data ke peralatan output(output device) yang berupa informasi.
    Distibution : Tahap ini merupakan proses penyebaran informasi kepada pihak-
    pihak yang berhak dan membutuhkan informasi.
    Storage : Tahap ini merupakan perekaman hasil pengolahan data ke secondary
    storage, yangndapat dipergunakan sebagai bahan input untuk proses selanjutnya.
PERTEMUAN 2


                      KONSEP DASAR PEMROGRAMAN
I. Algoritma Pemrograman Yang Baik
  Ciri-ciri algoritma pemrograman yang baik adalah :
  1. Memiliki logika perhitungan/metode yang tepat dalam memecahkan masalah
  2. Menghasilkan output yang tepat dan benar dalam waktu yang singkat
  3. Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak
     menimbulkan arti ganda.
  4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam
     bahasa pemrograman.
  5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
  6. Semua proses harus berakhir setelah sejumlah langkah dilakukan.
  Berikut ini contoh program yang mempunyai algortima yang tidak baik karena
  mengandung kesalahan logika.
  Uses crt;                                      Begin
  Var                                            Writeln          (‘Bina       Sarana
  I : Integer;                                   Informatika’);
  Begin                                          I := I + I ;
  Clrscr;                                        Readln;
  I := 0;                                        End;
  While I < 5 Do                                 End.
  Berikut ini contoh program yang mempunyai algortitma yang baik karena
  mempunyai logika yang benar
  Uses crt;                                      Begin
  Var                                            Writeln(‘Bina                 Sarana
  I : Integer;                                   Informatika’);
  Begin                                          I := I + 1;
  clrscr;                                        Readln;
  I := 0;                                        End;
  While I < 5 Do                                 End.
Program akab berhenti karena kondisi yang ada terpenuhi sebanyak 5(lima)
II. Standar Suatu Program Yang Baik
   A. Standar Pemecahan masalah
      Teknik untuk dapat membantu memecahkan masalah antara lain teknik Top
      Down dan teknik Modular.
      Pemrograman Modular: Program dipecah-pecah kedalam modul-modul, dimana
      setiap modul menunjukkan fungsi dan tugas tunggal, dimana setiap modul
      menunjukkan fungsi dan tugas tunggal.
      Pemrograman top down sangat berguna dalam perencanaan pemrograman
      modular.Dalam pemrograman top-down yang pertama harus kita didefinisikan
      adalah modul utama. Modul utama yang dimaksud adalah modul yang pertama
      kali dijalankan atau modul yang memanggil modul lainnya atau juga modul yang
      mengakhiri proses program tersebut.
B. Standar Penyusunan Program
   1. Kebenaran logika dan penulisan
      Program yang disusun harus memiliki logika dalam pemecahan masalah. Program
      yang dibuat harus memiliki ketepatan, ketelitian dan kebenaran sehingga
      menghasilkan program yang baik.
   2. Waktu penulisan dan eksekusi program
      a. Contoh Logika pengujian yang tidak baik karena pengujian yang berulang –
          ulang sehingga waktu eksekusi tidak efisien
          IF item = nilai1
          instruksi1
          Endif
          IF item = nilai2
          Instruksi2
          Endif
          IF item = nilai3
          instruksi3
          Endif
Bentuk diatas akan melakukan pengujian sebanyak 3(tiga) kali untuk
   mendapatkan satu alternatif.
b. Logika pengujian yang baik sehingga waktu lebih efisien:
   IF item = nilai1
   instruksi1
   ELSE IF item = nilai2
   instruksi2
   ELSE IF item = nilai3
   instruksi3
   ENDIF
   ENDIF
   Bentuk ini setelah pengujian berhasil mendapatkan solusi, maka proses
   pengujian tidak akan dilanjutkan lagi
a. Contoh kedua susunan baris program yang tidak baik
   n := 1;
   while n <=50 do
   Begin
   item (n) := A*B/C+D-E+n;
   n := n + 1;
   Readln;
   End;
   Bentuk eksekusi program diatas akan lambat karena eksekusi ekpresi
   matematika A*B/C+D-E+n akan diulang-ulang
b. Susunan baris program yang baik
   n := 1;
   Hasil := A*B/C+D-E+n;
   while n <=50 do
   Begin
   item (n) := Hasil + n
   n := n + 1;
   Readln;
End;
          Bentuk eksekusi program diatas akan lebih cepat karena eksekusi ekspresi
          matematika A*B/C+D-E+n
   3. Perawatan dan pengembangan program
      Penyusunan program harus mempunyai sifat kesederhanaan dan kejelasan dari
      program yang nantinya akan dikembangkan dan membantu dalam perawatan.
   4. Portabilitas
      Bahasa pemrograman dan program yang disusun sebaiknya bisa dipakai pada
      berbagai tipe komputer yang berbeda-beda dan berbagai jenis sistem operasi.
C. Standar Perawatan Program
   1. Dokumentasi
      Dokumenatasi berguna untuk melakukan penelusuran jika terjadi kesalahan dan
      memberikan informasi kepada orang lain dapat mengerti dan memahami alur
      logika program.
   2. Penulisan Instruksi
      Beberapa hal yang perlu diperhatikan dalam penulisan instruksi atau statement
      program yaitu:
      a. Berikan keterangan untuk awal statement atau instruksi yang tergabung dalam
          sekelompok statement.
      b. Awal dan akhir statement dari sekumpulan statement ditulis pada kolom yang
          sama.
          FOR I :=1 TO N DO
          BEGIN
          ……………………..
          ………………………
          END
      c. Gunakan sebaris atau beberapa baris kosong sebagai pemisah.
      d. Hindari pernyataan untuk Percabangan (IF statement ) yang sangat rumit dan
          Nested Loop (Loop disalam Loop lain) yang berlebihan.
      e. Gunakan “kurung buka dan tutup” dalam menulis suatu ekspresi Aritmatika
          atau logika.
WHILE (………….) DO
          BEGIN
          ……………………..
          ………………………
          END;
      f. Gunakan “Spasi” dalam menulis statement atau instruksi.
          WHILE (N>=15) DO
III. Sifat Penulisan Program
    a. Program Oriented
        Penulisan program yang struktur programnya selalu berubah, apabila kondisi
        data yang diproses di dalam program tersebut, bertambah volume datanya.
        Selain itu penulisan program ini bersifat statis dan tidak fleksibel (program
        animasi)
    b. Data Oriented
        Penulisan program yang struktur programnnya tidak selalu berubah, walaupun
        volume data yang diproses di dalam program tersebut, dalam jumlah besar.
        Selain itu pula penulisan program ini bersifat dinamis dan mempunyai tingkat
        fleksibilitas yang tinggi.
IV. Kualitas Bahasa Pemrograman
    a. Ekspresivitas      :Bahasa    pemrograman      yang   baik   addalah   mampu
        menggambarkan algoritma yang dibuat oleh programmer
    b. Dapat didefinisikan dengan baik : sintaks dan semantik bahasa pemrograman
        yang baik haruslah konsisten dan tidak bermakna ganda
    c. Tipe data dan strukturnya: Bahasa programmer yang baik haruslah
        berkemampuan untuk mendukung berbagai tipe data(integer, real, pointer,dsb)
        dan terstruktur dalam array, record ataupun object
    d. Modularitas : Bahasa pemrograman yang baik harus mempunyai fasilitas
        subprogramming sehingga suatu program yang besar dapat dikerjakan oleh
        sekaligus beberapa pemrogram secara bersama-sama yang nantinya dengan
        mudah dapat digabungkan menjadi sebuah modul saja.
e. Fasilitas masukan keluaran : Bahasa pemrograman yang baik haruslah dapat
   mendukung berbagai jenis model file seperti sequential, random access, index,
   multiple index dan lain sebagainya dalam pemrosesan masukan dan keluaran
f. Portabilitas : Bahasa pemrograman yang baik haruslah dapat dipakai pada
   berbagai tipe mesin komputer yang berbeda, jadi bersifat machine independet.
g. Efisiensi : Bahasa pemrograman yang baik haruslah dapat dipakai pada
   berbagai tipe mesin komputer yang berbeda, jadi bersifat machine independet
h. Mudah dipelajari : bahasa pemrograman tersebut harus mudah dipelajari
   maupun diajarkan
i. Bersifat Umum : Bahasa pemrograman tersebut harus memiliki jangkauan luas
   pada berbagai aplikasi pemrograman sehingga dapat disebut bahasa yang
   serbaguna.
PERTEMUAN 3


                       TAHAPAN MEMBUAT PROGRAM
I. Tahapan-Tahapan Membuat Program
  A. Membuat Suatu Program Yang Kompleks
     Untuk membuat program yang besar dan kompleks, programmer membutuhkan
     tahapan-tahapan dibawah ini :
     1. Definisi Masalah :
        Langkah-langkah dalam pendefinisian masalah adalah:
        a. Pemahaman       Permasalahan:    Seorang   programmer   harus   paham
              permasalahan yang timbul sehingga terjalin dengan baik komunikasi
              dengan pihak yang mempunyai masalah
        b. Identifikasi Permasalahan : Programmer harus dapat mengidentifikasikan
              permasalahan yang ada sehingga programmer dapat menentukan batasan
              permasalahannya.
     2. Analisis Kebutuhan :
        Tujuannya adalah untuk menentukan spesifikasi fungsi, kemampuan dan
        fasilitas program dari program yang akan dibuat sehingga bermanfaat untuk
        evaluasi setelah pembuatan program.
     3. Desain Algoritma / Membuat Rumusan Pemecahan Masalah :
        Algoritma yang didesain khusus harus memiliki kebenaran secara logika
        sebelum siap untuk diimplementasikan ke dalam bentuk program. Algoritma
        disusun dalam bentuk Pseudocode atau flowchart
        Contoh menghitung Luas lingkaran:
        Pseudocode Flowchart
        Phi . 3.14
        Input (diameter)
        Radius . diameter/2
        Luas .phi*radius*radius
        Output(luas)
        end
4. Bahasa Pemrograman
        Fungsi dari bahasa pemrograman adalah sebagai media untuk membuat
        program dan juga sebagai alat komunikasi antara programmer dan komputer.
        Contohnya Pascal, Bahasa C, Visual Basic, Visual Foxpro, dll
   5. Testing dan Debugging
        Testing adalah menguji program sampai bebas dari error
        Debugging adalah mengoreksi error yang terdeteksi
   6. Dokumentasi
        Dokumentasi merupakan informasi dan gambaran tambahan yang bertujuan
        untuk menjadi pedoman dan penjelasan bagi para pemakai
   7. Pemeliharaan
        Pemeliharaan perangkat lunak meliputi:
        a. Corrective Maintenance, melakukan koreksi hasil yang didapat oleh
           pemakai tidak sesuai
        b. Adaptive Maintenance, Adaptasi sehingga memerlukan modifikasi dari
           program yang dibuat
        c. Prefective Maintenance,Tambahan fungsi-fungsi/fasilitas pada program
           setelah dilakukan pengujian dan pemakaian oleh user
        d. Preventive Maintenance, Tambahan fungsi-fungsi/fasilitas pada program
           sesuai dengan
        perkembangan masa mendatang
B. Membuat Suatu Program Yang Sederhana
   Untuk membuat suatu program yang sederhana, programmer tidak perlu
   menggunakan tujuh tahapan diatas, tetapi cukup beberapa tahap saja, seperti :
   a. Definisi Masalah
   b.   Desain Algoritma
   c. Bahasa Pemrograman
   d. Testing and Debugging
C. Karakteristik Seorang Programmer
   1. Mampu menyusun algoritma dengan baik dan logis.
   2. Memiliki ketekunan dan ketelitian yang tinggi.
3. Menguasai bahasa dan teknik penulisan program dengan baik.
   4. Dapat bekerja sama dalam suatu tim.
   5. Dapat bekerja secara efisien dan tepat waktu
D. Menulis Program Interaktif
   1. Program harus dapat melakukan validasi terhadap setiap data yang masuk.
   2. Program harus dapat mengecek setiap kemungkinan-kemungkinan yang
      penting, yang akan muncul pada data masukan.
   3. Buatlah format masukan sesederhana mungkin
   4. Buatlah agar program dapat memberikan tanda bahwa data yang ikehendaki
      sudah terpenuhi.
   5. Berikan label atau keterangan pada setiap keluaran, termasuk bentuk pesan
      kesalahan apabila sipemakai salah mengoperasikan program tersebut.
   6. Berikan pesan, apabila program sedang melakukan suatu proses yang
      memerlukan suatu waktu tunggu.
PERTEMUAN 4
                STRUKTUR SUATU BAHASA PEMROGRAMAN
I. Struktur Bahasa Program Prosedural
   A. Bagian Deklarasi
      1. Deklarasi Variable
         Untuk mendeklarasikan variable pada Pascal, digunakan reserved word var,
         kemudian diikuti dengan nama variable (identifier) yang ingin digunakan, dan
         kemudian tipe data dari variable tersebut. Sedangkan pada C, deklarasi
         diawali dengan tipe data variable baru diikuti dengan nama variable
         (identifier). Suatu identifier harus diawali oleh karakter bukan angka, tetapi
         tidak boleh mengandung
         karakter khusus seperti * , - + /  = < > . ? & dan sebagainya. Pada bahasa
         Pascal, identifier tidak bersifat case sensitive, maksudnya, huruf besar ataupun
         huruf kecil dianggap sama. Sebaliknya pada Bahasa C, identifier bersifat case
         sensitive, sehingga variable s dan S akan dianggap dua identifier yang
         berbeda.
      2. Deklarasi Konstanta
         Konstanta yaitu nilai yang tetap. Jadi jika mengacu pada contoh di atas, maka
         nilai phi tidak dapat diubah-ubah dan akan selalu 3.14
      3. Deklarasi Tipe Data
         Type TdataSiswa = ^DataSiswa;
            DataSiswa = record
            Nama : String [30];
            Alamat : String [60];
            Telp    : String [14];
         End;
         Tipe Data dapat dikelompokkan menjadi:
         a. Tipe Data sederhana
            Tipe data sederhana merupakan tipe data yang paling kecil, yang hanya
            melibatkan satu item data, misalnya tipe data integer, string, real, Boolean,
            dan sebagainya. Kita dapat juga mendefinisikan sendiri tipe data ini. Tipe
data yang didefinisikan sendiri tersebut distilahkan enumerated data type
      (pada contoh adalah type hari).


   b. Tipe Data terstruktur
      Tipe data terstruktur merupakan tipe data yang terdiri dari beberapa item
      data. Bentuk dari tipe data ini dapat berupa array (terdiri dari item-item
      yang memiliki tipe data yang sama) ataupun record (terdiri dari item-item
      yang boleh memiliki tipe data yang berbeda). Pada contoh di atas,
      DataSiswa termasuk tipe data terstruktur.
   c. Tipe Data Pointer
      Tipe data pointer digunakan untuk menunjuk pada alamat memory suatu
      data yang lain. Jadi tipe data pointer pada dasarnya tidak menyimpan nilai
      data secara langsung, melainkan hanya menyimpan alamat dimana data
      berada. Untuk contoh pada bahasa Pascal, TDataSiswa merupakan tipe
      data pointer. Pada Bahasa C, untuk mendeklarasikan pointer untuk tipe
      data DataSiswa pada variable yang bernama TDataSiswa, dapat dituliskan
      sebagai berikut:
      DataSiswa *TDataSiswa;
4. Deklarasi Procedure/Function:


   Jika melihat pada contoh deklarasi pada bahasa C, mungkin timbul pertanyaan
   apa beda prosedur dengan fungsi? Pada Bahasa C, semua sub program
   dianggap fungsi, berbeda dengan Pascal yang menyertakan reserved word
   procedure dan function untuk membedakan antara keduanya.
   Sebenarnya, perbedaan utama antara prosedur dan fungsi yaitu: prosedur
   adalah fungsi yang tidak mengembalikan suatu nilai. Sebaliknya fungsi adalah
   suatu prosedur yang mengembalikan nilai. Apabila mengacu pada contoh di
   atas, maka fungsi tambah akan mengembalikan suatu nilai yang bertipe
   integer, sedangkan prosedur Cetak tidak mengembalikan nilai apa-apa. Pada
   Bahasa C, procedure pada dasarnya adalah function yang mengembalikan
   void alias tidak mengembalikan nilai apa-apa.
B. Bagian Statment
   Bagian statement merupakan bagian program yang berisi perintah yang akan
   dieksekusi/dijalankan. Pada bahasa Pascal, bagian statement selalu diawali
   dengan reserved word begin dan end. Apabila blok statement adalah blok utama
   program, maka reserved word end harus diakhiri dengan tanda titik(.), sebaliknya
   jika blok statement bukan blok utama program maka reserved word end diakhiri
   dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari deklarasi
   variable hingga akhir statement diawali dan diakhiri dengan tanda kurung kurawal
   { dan }.
   Berikut adalah contoh potongan kode untuk implementasi menghitung luas
   lingkaran dengan Bahasa
   Pascal (kiri) dan Bahasa C (kanan).
   Bahasa Pascal:
   procedure Cetak (kal: String);
   function Tambah (a,b:Integer): Integer;
   Bahasa C:
   void Cetak (char *String);
   int Tambah (int a, int b);
   uses crt;
   const phi = 3.14;
   var diameter, radius,
   Luas : real;
   begin
   readln(diameter);
   radius := diameter / 2;
   Luas := phi * radius * radius;
   writeln(Luas);
   end.
   #include <stdio.h>
   void main()
   { const phi = 3.14;
float diameter, radius, Luas;
scanf(“%f”, &diameter);
radius = diameter / 2.0;
Luas = phi * radius * radius;
printf(“%f”,Luas);
}
PERTEMUAN 5
                ELEMEN-ELEMEN BAHASA PEMROGRAMAN
I. Elemen-Elemen Dalam Bahasa Pemrograman
  Berikut adalah element-element pada bahasa pemrograman:
  A. Aturan Leksikal yaitu aturan yang digunakan dalam membentuk suatu deklarasi,
     definisi maupun statement hingga menjadi satu program yang utuh. Aturan ini
     meliputi beberapa element antara lain:
     1. Token : element terkecil pada bahasa pemrograman yang memiliki arti
        penting bagai compiler. Yang termasuk token antara lain. Identifier, keyword,
        operator dan sebagainya. Token yang satu dengan yang lain dipisahkan
        dengan satu atau lebih spasi, tab, baris baru atau komentar
     2. Komentar : teks(kumpulan karakter) yang diabaikan oleh compiler.
        Komentar sangat berguna untuk memberi catatan mengenai bagaian program
        tertentu sebagai referensi baik bagi programmer itu sendiri maupun orang lain
        yang membaca kode program tersebut. Pada bahasa pascal, teks yang berada
        diantara kurung kurawal pembuka { dan kurung kurawal tutup } akan
        dianggap sebagai komentar., selain itu dapat pula menggunakan tanda (*
        sebagai pembuka komentar, dan tanda ) sebagai penutup
        Contoh pascal:
        ( program mencetak hello world
        Oleh: saya *)
        Begin
        {cetak hello World
        Oleh saya
        }
        Writeln(‘Hello World’);
        end
     3. Identifier : merupakan kumpulan karakter yang digunakan sebagai penanda
        untuk nama variable, namatipe data, fungsi prosedur dan sebagainya. Aturan
        penulisan identifier pada bahasa pascal dan bahasa C dapat dikatakan serupa.
        Yaitu : suatu identifier harus diawali oleh karakter non angka sebagai
berikut:_abcdefghijklmnopqrstuvwxyz
   ABCDEFGHIJKLMNOPQRSTUVWXYZ selanjutnya boleh menggunakan
   karakter angka maupun karakter non angka tersebut diatas, namun tidak boleh
   menggunakan karakter khusus/spesial seperti + - * / ?! {} [] dan sebagainya
   Berikut adalah contoh-contoh identifier yang benar
   _nama
   No_telp
4. Keywords (Reserved Words) : merupakan kata-kata yang telah ada/
   didefinisikan oleh bahasa pemrograman yang bersangkutan.Kata-kata tersebut
   telah memiliki definisi yang sudah tetap dan tidak dapat diubah. Karena telah
   memiliki definisi tertentu maka kata-kata ini tidak dapat digunakan sebagai
   identifier
   Pada bahasa pascal, yang termasuk reserved word antara lain:
   And array asm begin case const div do downto
   else end file for forward function goto if in
   label mod nil not of or packed program
   procedure recor repeat set string then to type unit
   until uses var while with
5. Operator : digunakan untuk menyatakan suatu perhitungan/operasi. Operator
   yang digunakan untuk operasi yang melibatkan satu operand disebut unary
   operator. Jika melibatkan dua operand maka disebut binary operator, dan jika
   melibatkan tiga operand, operator tersebut disebut ternary operator.Didalam
   suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari
   operatoroperator disebut juga operator predence. Prendence yang lebih rendah
   akan dieksekusi belakangan, Misalnya A = 10 + 5 * 2
   a. Arithmetic Operator :operator yang digunakan untuk melakukan operasi
       matematika seperti penuumlahan, pengurangan,perakalian, pembagian
   b. Assignment Operator : digunakan untuk memberi nilai suatu identifier.
       Pada bahasa pascal, digunakan tanda titik dua dan tanda sama dengan :=
       untuk memberi nilai pada variabel.
       Contoh:
C := A + B
            Tanda = memiliki fungsi yang sama dengan tanda := pada bahasa pascal
        c. Bitwise dan Logical Operator : digunakan untuk melakukan operasi bit
            dan logika. Yang termasuk didalam operator ini antara lain:
               Negasi : Not
               Contoh A;=NOT B;
               And
               contoh A:=A and B;
               Or
               Contoh A:=B OR C;
               shift left(<<)
               contoh A;=B shl C;
               Shift Right(>>)
                Contoh A:B shr C;
        d. Relational Operator : digunakan untuk membandingkan nilai dua operand.
            Sebagai catatan, operand yang dibandingkan harus memiliki tipe data yang
            sama kecuali untuk bilangan bulat(bertipe integer) dan bilangan
            pecahan(bertipe real atau float). Yang termasuk operator relasional yaitu:
            penanda kesamaan (=), penanda lebih besar, penanda lebih besar atau
            sama dengan, penanda lebih kecil, penanda lebih kecil atau sama
            dengan,penanda tidaksamaan(<>)
        e. Pointer Operator : digunakan untuk melakukan operasi operand yang
            berupa pointer. Pada bahasa pascal digunakan tanda ^ sebagai deference
            pointer
B. Tipe data
   Pada suatu bahasa pemrograman umumnya telah menyediakan tipe-tipe data yang
   sederhana (simple) maupun yang terstruktur . Dan apabila kita membutuhkan
   tipe data yang belum tersedia kita dapat mendefinisikan sendiri tipe data baru yang
   disebut enumerated type.
   Berikut adalah tipe data sederhana (simple) :
   Tipe Pascal Bahasa C Jangkauan Nilai
Integer
byte char(unsigned char) 0..255
shortint char(signed char) -128..127
integer Int -32768..32767
word short(unsigned char) 0..65535
longint Long -2147483648..2147483647
Real/Pecahan real float 3.4 E – 38..3.4 E +38
double double 1.7 E – 308..1.7E + 308
String String,char(1
karakter)
--
Boolean Boolean Bool(tidak terdapat
pada bahasa C standar)
True, false
Yang dimaksud dengan tipe data terstruktur yaitu tipe data yang dapat
menampung lebih dari satu nilai, sbb:
1. Array
     Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih
     elemen/komponen yang memiliki tipe data yang sama.
     Berikut adalah contoh penggunaan array:
     {bahasa pascal}
     Var
     Bil : array[0..3] of integer;
     Begin
     Bil[0]:=1;
     Bil[1]:=2;
     Bil[2]:=bil[0] + 2;
     Bil[3]:=bil[0] + bil[2];
     End;
2. Record (Pascal) atau struct (Bahasa C)
Tipe   data     ini   digunakan   untuk   merepresentasikan   kumpulan   (set)
elemen/komponen yang memiliki satu jenis atau lebih tipe data. Tiap element
disebut juga field atau property atau attribute.
Beriut adalah contoh penggunaan record dan struct {bahasa pascal}
Type
Tsiswa = record
No_induk: integer;
Gender: char;
/bahasa C*/
Stuct Tsiswa{
Int no_induk;
Char gender;
};
End;
Var
Saya:Tsiswa;
Teman:array[1..3] of Tsiswa;
Saya.no_induk:=10;
Saya.gender:=’L’;
Teman[1],no_induk:=1;
Teman[1],gender:=’L’;
Teman[2],no_induk:=2;
Teman[2],gender:=’P’;
Teman[3],no_induk:=3;
Teman[3],gender:=’P’;
End;
Void main(){
Struct Tsiswa saya, teman[3];
Saya.no_induk:=10;
Saya.gender:=’L’;
Teman[0],no_induk:=1;
Teman[0],gender:=’L’;
        Teman[1],no_induk:=2;
        Teman[1],gender:=’P’;
        Teman[2],no_induk:=3;
        Teman[2],gender:=’P’;
        }
       Pada contoh diatas, dideklarasikan tipe data terstruktur yang diberi nama Tsiswa.
       Tipe data tersebut terdiri atas dua elemen yang masing-masing bertipe integer dan
       char
C. Expression
   Expression yang paling sederhana yaitu nama variable. Expression yang lebih
   kompleks akan melibatkan operator-operator, maupun pemanggilan function atau
   procedure.
   Berikut adalah contoh expression:
   A        hanya berupa nama variable
   10         berupa suatu nilai
   A + 3 * 2 . expression menggunakan operator
   Calculate(A,B) . melakukan pemanggilan function bernama calculate
D. Statement: seperti yang telah disinggung diatas,statement merupakan bagaian
   program yang berisi perintah yang akan dieksekusi/dijalankan.
   1.    Simple Statement yaitu statement yang tidak berisi satatement lainnya, sbb:
        a. Assignment Statement : yaitu statement yang digunakan untuk
              memberikan nilai ke suatu variable
              Contoh Pascal Contoh Bahasa C
              a:=10;
              b:=a*2;
              c:=c*b;
              Student[i].id:=12;
              a=10;
              b=a*2;
              c=c*b;
Student[i].id=12;
     b. Statement untuk pemanggilan function atau procedure: yaitu statement
        yang memamnggil function atau procedure yang telah didefinisikan pada
        program. Contoh pemanggilan procedure dan fungsi pada bahasa Pascal dan
        bahasa C (dengan asumsi procedure Calculate, Cetak, dan Fuction
        GetLength untuk contoh dibawah, telah didefinisikan terlebih dahulu):
        Contoh Pascal Contoh Bahasa C
        Calculate (a,b);
        B:=GetLength(student[i].Name);
        Cetak (a,b);
        Calculate (a,b);
        B=GetLength(student[i].Name);
        Cetak (a,b);
     c. Jump         Statement    :   yaitu   statement   yang   digunakan   untuk
        melompatistatemet-statement lain. Yang termasuk dalam kategori statement
        ini yaitu:
        Fungsi Pascal Bahasa C
            Melompat ke statement tertentu goto Goto
            Keluar dari iterative statement Break Break
            Melompat ke iterasi selanjutnya pada
            iterative statement
            Continue Continue
            Keluar dari function/procedure Exit exit
2.   Compound Statement
     Compound statement (kumpulan statement) adalah sekumpulan statement yang
     terdiri dari statement-statement lain, termasuk juga iteration dan selection
     statement.
     Pada bahasa pascal, kumpulan statement diawali oleh keywords Begin dan
     ditutup oleh keyword end, sedangkan pada bahasa C, kumpulan statement akan
     diawali dan diakhiri oleh tanda kurung kurawal{ dan }. Berikut adalah
     contoh compound statement:
{bahasa Pascal}
   If i =0 then
   Begin
   {compound statement starts here}
   Write(‘Nilai I tidak boleh nol’);
   Hasil:=-1;
   {compound statement ends here}
   End;
   /*bahasa C*/
   If (i =0)
   {
   //compound statement starts here}
   printf(“Nilai I tidak boleh nol”);
   Hasil:=-1;
   //compound statement ends here
   }
   Selection statement melakukan pemeriksaan nilai/kondisi, yang kemudian akan
   memilih statement mana yang akan dieksekusi. Statement ini terdiri dari 2 jenis
   yaitu If..then..else statement dan case/switch statement.
3. Iteration Statement
   Iteration statement digunakan untuk melakukan perulangan sekumpulan
   statement (compound statement).
   Iteration
   Statement
   Bahasa Pascal
   Repeat/do looop:
   Evaluasi kondisi dilakukan di
   bagian akhir
   Repeat
   (statement);
   …
(statement);
Until(kondisi);
Contoh:
I:=1;
Repeat
i:i+2;
writeln(i);
until i>=10;
While do:
Evaluasi kondisi dilakukan di
bagian awal
While(kondisi) do
(statement)
Contoh:
Contoh:
I:=1;
While(i<10) do
begin
i:i+2;
writeln(i);
end;
For..loop
Perulangan dengan
increment nilai
For counter:=lower to upper do
(statement)
Atau
For counter:=upper downto lower
do
(statement)
Contoh:
For i:=1 to 10 do
      Writeln(i);
      For i:= 1 to 10 do
      begin
      write();
      for j:= 10 downto I do
      write(j);
      writeln;
      end;
E. Function dan Procedure
   Procedure dan Function disebut juga subroutine, merupakan blok statement yang
   dapat dipanggil dari lokasi yang berbeda di dalam program. Yang membedakan
   antara function dan procedure yaitu:
   suatu function jika dijalankan/dipanggil akan mengembalikan suatu nilai.
   Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke
   dalam function atau procedure tersebut. Nilai yang dilewatkan disebut juga
   argument atau parameter. Ada dua cara melewatkan nilai, yaitu:
   1. Passing by Value (Dilewatkan secara nilai) : jika didalam procedure atau
      function dilakukan perubahan nilai parameter yang dilewatkan secara nilai
      parameter yang dilewatkan secara nilai, maka nilai parameter yang sebenarnya
      tidak ikut berubah,hal ini dikarenakan parameter yang dilewatkan secara nilai
      akan dicopy sebagai nilai local di procedure/function yang bersangkutan :
      {bahasa Pascal}
      Uses crt;
      Procedure ubah(a:integer);
      Begin
      A:=10;
      Writeln(‘Ubah menjadi =”,a);
      End;
      {main program}
      Var bil: integer;
Begin
Bil:=1;
Writeln(’Bil sebelum=’,bil);
Ubah(bil);
Writeln(’Bila sesudah=’,bil);
End;
Hasil eksekusi kedua program diatas adalah sama, pada layar akan tampak
tulisan:
Bil sebelum=1
Ubah menjadi =10
Bil sesudah=1
2.     Passing by Reference : jika didalam procedure atau function dilakukan
       perubahan nilai parameter yang dilewatkan secara nilai reference, maka
       nilai parameter yang sebenarnya juga akan berubah.
PERTEMUAN 6
                        ANALISA STRUKTUR PROGRAM
I. Flowchart
   adalah metode untuk menggambarkan tahap-tahap pemecahan masalah dengan
   menggambarkan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan
   dan standar. Dalam penulisan flowchart dikenal 2 (dua) metode yaitu :
   A. Sistem Flowchart
      Adalah diagram alir yang menggambarkan suatu sistem peralatan komputer yang
      digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut.
                               Pita Magnetik /I/O yang
                               menggunakan             pita         File Upah
                               magnetik



                               Kartu
                               Plong/keyboard/Input yang        Masukan Tarif
                                                                   Upah
                               dimasukkan secara manual
                               dari keyboard
                               Punched Paper Tape
                                                               File Pelanggan

                               Input        /       Output
                                                                        Baca
                               /Merepresentasikan    Input            jam dan
                               data atau Output data yang               tariff
                                                                        upah
                               diproses Atau Informasi.
                               Magnetic Drum /I/O yang                 File
                               menggunakan           drum            Pegawai
                               magnetik
                               Process/Mempresentasikan             Hitung Upah
                               operasi                                 Kotor
Off                     Line
                          Storage/Penyimpanan yang
                          tidak dapat diakses oleh
                          komputer secara langsung
                            Proses Sortir /tidak urut




                                 Proses Merge/




                          On line storage/VDU/I/O
                          yang          menggunakan              File
                                                              Pelanggan
                          penyimpanan            akses
                          langsung
                          Magnetic Disc/I/O yang
                          menggunakan             disk       Update File
                                                             Pegawai
                          magnetik
                          Arus


   Contoh :

                          Keyboard



                            CPU                     Disket



                            VDU

B. Program Flowchart
   Adalah diagram alir yang menggambarkan urutan logika dari suatu prosedur
   pemecahan masalah.
   Dibawah ini adalah gambar simbol program flowchart :
Proses                 Input Output                  subroutine




          Pengujian           Pembaerian Nilai Awal        Awal/ Akhir Program




      Konektor pada suatu halaman Konektor pada halaman lain           Arah
II. Pseudocode
   Pseudocode berasal dari kata pseudo yang berarti mirip atau menyerupai dan code
   yang berarti program.
   Pseudocode adalah teknik tulisan untuk menggambarkan algoritma menggunakan
   kode yang mirip dengan kode pemrograman yang sebenarnya.
PERTEMUAN 9
                  ANALISA STRUKTUR PROGRAM LANJUTAN


I. Struktur Program
   A. Struktur Berurutan (Sequence Structure)
      Struktur Berurutan adalah struktur program yang paling sederhana. Setiap baris
      program akan dikerjakan secara urut dari atas ke bawah maka hanya ada satu cara
      memulainya yaitu dari bagian atas, dan cara untuk keluarnya yaitu dari bagian
      bawah.

                                       Start


                                  Baris Program


                                  Baris Program


                                  Baris Program


                                      Selesai

      Contoh Program Struktur berurutan menghitung luas empat persegi panjang
      Program persegi panjang;
      Uses crt;
      Var
               luas,panjang,lebar:integer;
      Begin
               clrscr;
               write(‘Masukan Panjang:’);
               Readln(panjang);
               write(‘Masukan Lebar:’);
               Readln(Lebar);
Luas:=Panjang * Lebar;
              writeln(‘luas Persegi Panjang: ‘, Luas);
              Readln;
   End.


B. Struktur Seleksi(Selection Structure)
   Struktur seleksi untuk melakukan proses pengujian pada kondisi dalam
   mengambil suatu keputusan. Kondisi adalah suatu syarat yang mempunyai nilai
   True dan False.
   Contoh bentuknya adalah sebagai berikut :
   ................
   ................
   Begin
               Perintah 1;
               If Kondisi Then
                             Perintah 2;
               Else
                             Perintah 3;
               ...................
               ...................
   End.
   Ada beberapa macam struktur instruksi IF atau Sruktur Seleksi yaitu :
   1. Statement/perintah IF ... THEN ( Seleksi Tunggal )
        Bentuk umumnya
        IF <kondisi> THEN
        Begin
              ............
              ............
        End.
Start



                          Kondis           Perintah 1
                            i


                          Selesai


   Contoh Program Seleksi if then menentukan bilangan positif)
   Program Bilpositif;
   Uses crt;
   Var
      bil:integer;
   Begin
      write(‘Masukan sebuah bilangan:’);
      Readln(bil);
                  if bil>0 then
      writeln(‘Bilangan Positif’’);
      Readln;
   End.
2. Statement/Perintah IF ... THEN ... ELSE
   Bentuk Umumnya
   IF <kondisi> THEN
   Begin
      ............
      ............
   End;
   Else
   Begin
      ............
      ............
End.
                           Start



                                            True
                      Kondisi                         Perintah 1


                                    False

                     Perintah 2



                          Selesai

   Contoh Program Seleksi if-then-else menentukan bilangan positif atau negatif
   Program Bilpositif;
   Uses crt;
   Var
      bil:integer;
   Begin
      write(‘Masukan sebuah bilangan:’);
      Readln(bil);
                   if bil>0 then
                             writeln(‘Bilangan Positif’’);
                   else
                             wiriteln(‘Bilangan Negatif’);
                   Readln;
      End.
3. Statement/Perintah IF ... THEN ... ELSE IF
   Bentuk umumnya :
   IF <kondisi> Then
   Begin
      ..........
..........
    End
           Else If <kondisi2> Then
                        Begin
                        ..............
                        ..............
           End;

  Start


                            False
Kondisi1

            True                                      False
                                         Kondisi2
Perintah 1

                                               True                          False
                                                              Kondisi3
                                     Perintqh 2
                                                                      True

                                                              Perintah 3

                                                                               Perintah 4


 Selesai

    Contoh Program Seleksi if-then-else if menentukan nilai mahasiswa)
    Uses crt;
    Var NA:integer;Grade: Char;
    Begin
           write(‘Masukan Nilai Akhir:’);
           Readln(NA);
                        if NA<=45 then
                                    Grade :=‘E’
else if NA<=55 then
                                 Grade :=‘D’
                     else if NA<=70 then
                                 Grade :=‘C’
                     else if NA<=84 then
                                 Grade :=‘B’
                                 else Grade := ‘A’;
                                 wiriteln(‘Nilai grade anda =‘, Grade);
         End.
Selain menggunakan instruksi IF, Struktur Seleksi juga dapat menggunakan
instruksi CASE ... OF (Seleksi Ganda).
Untuk masalah tertentu instruksi Case...Of lebih memberi kejelasan dibandingkan
dengan
instruksi IF.
Bentuk umum dari CASE ..OF
Case ungkapan Of
         Daftar label 1 : perintah 1;
         Daftar label 2 : perintah 2;
         Daftar label 3 : perintah 3;
         ..........................
End;
         End;
Start




            Nilai pemilih        True
             pada daftar                   Perintah 1
               konst 1



                       False


            Nilai Pemilih       True
             Pada daftar                   Perintah 2
               konst 2



                       False


            Nilai pemilih        True
             pada daftar                   Perintah 3
               konst 3



                       True

         Pernyataan yang
          mengikuti else



                End

Contoh Program Seleksi Case .. of menentukan Grade mahasiswa)
Uses crt;
Var NA:integer;Grade: Char;
Begin
        write(‘Masukan Nilai Akhir:’);
        Readln(NA);
        0..45 :Grade :=‘E’
46..55 : Grade :=‘D’
           56..70 : Grade :=‘C’
           71..84 : Grade :=‘B’
           85.100 : Grade :=‘A’
           end;
           writeln(‘Nilai grade anda =‘, Grade);
   End.
C. Struktur Perulangan ( Looping Structure )
   Struktur perulangan akan melakukan proses berulang ulang selama selama
   Kondisi bernilai True atau selama kondisi perulangan terpenuhi.
   Dan Kondisi akan berhenti jika hanya keadaan berubah menjadi false atau kondisi
   perulangan tidak terpenuhi.
   Struktur Perulangan terdiri dari :
   1. FOR .. DO
   Bentuk umumnya perulangan yang menaik:
   For {Batas Awal} To {Batas Akhir} DO
   Begin
   {Statement 1};
   {Statement 2};
   ------------------
   ------------------
   {Statement N};
   End;
   contoh:
   For I;=1 to 5 do
   Begin
   writeln(‘BINA SARANA INFORMATIKA’);
   End.
   Bentuk umumnya perulangan yang menurun:
   For {Batas Awal} DownTo {Batas Akhir} DO
   Begin
{Statement 1};
{Statement 2};
------------------
------------------
{Statement N};
End;
contoh:
For I;=5 downto 1 do
Begin
writeln(‘BINA SARANA INFORMATIKA’);
End.
2. While .. Do
  Perulangan digunakan unutk melaksanakan blok statement selama kondisinya
  benar. Dalam perulangan ini kondisi diuji terlebih dahulu.
  Bentuk umum :
  WHILE<kondisi> Do
  Begin
  …………
  …………
  End;
  contoh:
  I:=1
  While N<=5 do
  Begin
  Writelb(‘Bina Sarana Informatika’);
  I ; I+ 1;
  End;
3. REPEAT .. UNTIL
    Perulangan ini melakukan uji kondisi pada akhir perulangan. Artinya
    perulangan (loop) dikerjakan terlebih dahulu, kemudian baru kondisi diuji.
    Proses akan diulang sampai suatu kondisi yang diberikan bernilai benar.
Bentuk umum:
         REPEAT
         ……………
         ……………
         UNTIL<kondisi>;
         contoh:
         I:=1
         Repeat
         Writeln(‘Bina Sarana Informatika’);
         I ; I+ 1;
         Until I>5;
         Biasanya didalam pembuatan program, perulangan tidak hanya satu kali saja.
         Bahkan didalam sebuah perulangan terdapat perulangan yang lain. Perulangan
         yang terdapat dalam perulangan yang lain disebut perulangan tersarang atau
         Nested Loop.
         Contoh nested loop dengan For .. Do
         Var I,J : integer;
         Begin
         For I:= 1 to 5 do
         Begin
         For J:=1 to 5 Do
         Write(I:10, J:5);
         Writeln;
         end;
         end.


II. Konsep Pemrograman Terstruktur
   Ide Pemrograman Terstruktur pertama kali di ungkapkan oleh Profesor Edsger
   Djikstra
   dari Universitas Eindhoven tahun 1965. Profesor Djikstra mengusulkan yaitu
   pernyataan
GOTO seharusnya tidak dipergunakan di dalam pemrograman terstruktur .
Pernyataan tersebut ditanggapi oleh HD. Millis bahwa pemrograman terstruktur tidak
hanya dihubungkan dengan perintah GOTO tetapi oleh struktur program.
Dari kesimpulan diatas maka Pemrograman Terstruktur adalah “Pemrograman
terstruktur merupakan suatu tindakan untuk mengorganisasikan dan membuat
kode-kode program supaya mudah untuk dimengerti, mudah ditest dan mudah
dimodifikasi”.
A. Ciri-ciri pemrograman terstruktur.
   1. Mengandung teknik pemecahan masalah yang tepat dan benar
   2. Memiliki algoritma pemecahan masalah yanag sederhana, standar da efektif.
   3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami
   4. Program hanya terdiri dari 3(tiga) struktur dasar, yaitu struktur berurutan,
       struktur seleksi dan struktur perulangan.
   5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program
       tidak terstruktur dengan baik.
   6. Biaya pengujian yang dibutuhkan rendah.
   7. Memliki dokumentasi yang baik
   8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.
B. Tujuan Pemrograman Terstruktur
   1. Meningkatkan kehandalan program
   2. Program mudah dibaca dan ditelusuri
   3. Menyederhanakan kerumitan program
   4. Lebih mudah dalam pemeliharaan program
   5. Meningkatkan produktivitas pemrograman
C. Compiller Dan Interpreter
   Source program yang telah ditulis dengan bahasa pemrograman tingkat tinggi,
   tidak dimengerti oleh komputer karena komputer hanya mengerti bahasa mesin.
   Oleh sebab itu source program harus di terjemahkan ke dalam bahasa mesin
   terlebih dahulu sebelum dijalankan
   Terdapat 2(dua) jenis penterjemah yaitu :
1. Compiller
           Compiller     merupakan      penerjemah     bahasa        pemrograman   yang
           menterjemahkan instruksi- instruksi dalam satu kesatuan modul ke dalam
           bahasa mesin sehingga dihasilkan suatu file executable.
       2. Interpreter
           Interpreter   merupakan      penerjemah     bahasa        pemrograman   yang
           menterjemahkan instruksi demi instruksi pada saat eksekusi program.
III. Debugging Dan Bentuk Kesalahan program
   Debugging adalah penghilangan semua kesalahan yang ditemukan pada saat
   pengujian.
   Kesalahan terjadi karena kecerobohan desain logika dan pengkodean.
   Adapun macam-macam bentuk kesalahan program yaitu SYNTAX ERROR
   Bentuk kesalahan program yang disebabkan karena kesalahan didalam hal penulisan
   instruksi didalam program.
   Contoh.
   - Writ ( dalam bahasa PASCAL )
   - Use ( dalam bahasa PASCAL )
   - dan lain-lain
   RUN TIME ERROR
   Bentuk kesalahan program yang disebabkan karena adanya proses arithmathic yang
   ILLEGAL / tidak bisa diproses.
   Contoh.
   -B=(0/3)
   - Akar Minus
   - dan lain-lain
   · LOGIC ERROR
   Bentuk kesalahan program yang disebabkan karena HUMAN-ERROR-LOGIC
   (kesalahan logika program yang dibuat oleh programmer)
   Contoh.
   - Hasil / output program yang tidak sesuai
   - Kesalahan program yang tidak dapat dideteksi
PERTEMUAN 10

                  TEKNIK PEMROGRAMAN TERSTRUKTUR

I. Konsep pemrograman Terstruktur

 Adapun beberapa teknik Pemrograman terstruktur adalah :

 A. Pemrograman Modular

    Pemrograman Modular adalah suatu teknik pemrograman di mana program yang
    biasanya cukup besar dibagi-bagi menjadi beberapa bagian program yang lebih
    kecil

    Keuntungan:

    • Program lebih pendek

    • Mudah dibaca dan dimengerti

    • Mudah didokumentasi

    • Mengurangi kesalahan dan mudah mencari kesalahan

    • Kesalahan yang terjadi bersifat “lokal”

    Dalam pemrograman modular, program dipecah-pecah ke dalam modul-modul,
    dimana setiap modul menunjukkan fungsi dan tugas tunggal.

    Setiap program mempunyai sebuah modul program utama, yang mengontrol semua
    proses yang terjadi.

    Pemrograman modular diterapkan dengan menggunakan sub-routine. Sub-routine
    adalah sebuah kumpulan perintah yang melakukan tugas pemrosesan yang terbatas.
Subroutine atau procedure adalah suatu blok program terpisah yang digunakan
untuk mengerjakan suatu pekerjaan tertentu. Kegunaan yang umum dari subroutine
adalah menghemat kode program bila terjadi proses yang sama diulang berkali-kali.
Contoh:    Private    Sub    Option1_Click(Index      As    Integer)   Label1   =
Option1(Index).Caption End Sub

Program Judul_Program;

Procedure Nama_Procedure;

Begin

………………

………………

End;

Begin

………………

Nama_Procedure

……………….

End.

B. Pemrograman Top-Down

Function Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang
dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan
fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk
mengerjakan suatu tujuan tertentu. Dalam bahasa pemrograman lain fungsi dapat
disebut sebagai subrutin (basic,VB) atau procedure (pascal, Delphi)
Keuntungan

    Top-down: penelusuran program mudah
    Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai
    dengan koordinasi yang mudah.
    Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan
    sederhana
    Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
    Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa
    mengganggu program keseluruhan
    Fungsi -fungsi digunakan untuk menghindari penulisan program yang sama yang
    ditulis secara berulang – ulang

 Langkah – langkah tersebut dapat dituliskan sekali saja secara terpisah dalam
 bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah – langkah
 ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi tersebut.

    Mempermudah dokumentasi.
     Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi
    lain

 Pendekatan Top-down ini sangat berguna dalam perencanaan pemrograman
modular. Dalam pemrograman top-down (atas ke bawah), yang pertama harus kita
definisikan adalah modul utama. Modul utama yang dimaksud adalah modul yang
pertama kali dijalankan atau modul yang memanggil modul lainnya atau juga modul
yang mengakhiri proses program tersebut.
PERTEMUAN 11

                                       TIPE FILE

I.   Tipe dari file

     A. File Master

        a. File Referensi

            Data yang tetap dimana pengolahan terhadap data tersebut memerlukan waktu
            yang lama. Data yang terdapat pada file referensi ini sebagai contoh adalah
            file Mahasiswa, yang apabila akan diperbaiki (di edit) untuk jangka waktu
            yang lama, misalnya jika terjadi perbaikan pada pengisian data untuk alamat
            (jika mahasiswa tersebut pindah alamat rumah) maka isi data pada alamat
            untuk mahasiswa yang bersangkutan harus diperbaiki

        b. File Dinamik

            Data yang ada dalam file berubah tergantung transaksi. Misalkan saja file
            mata kuliah yang didalamnya terdapat informasi tentang seluruh mata kuliah
            yang terdapat di suatu lembaga pendidikan. Isi dari file mata kuliah dapat di
            perbaiki (di edit) jika kondisi yang ada dimasa depan mengharuskan adanya
            pergantian mata kuliah dengan nama mata kuliah yang baru dan sks yang juga
            baru, maka perbaikan data untuk isi file mata kuliah mutlak dilakukan. Hal ini
            yang disebut dengan penyetaraan mata kuliah.

     B. File Input (Transaksi)

        Berisi data masukkan yang berupa data transaksi dimana data-data tersebut akan
        diolah oleh komputer. Macam file transaksi yang ada pada lembaga pendidikan
        adalah file ujian, file nilai dan file pembayaran kuliah. File transaksi akan
        senatiasa mengalami perubahan sesuai dengan periode waktu tertentu
C. File Laporan

   Berisi informasi yang akan ditampilkan. File ini berisi informasi yang akan
   ditampilkan dalam sebuah laporan. Isi dari Laporan yang dihasilkan biasanya
   berasal dari penggabungan file master dan file transaksi, tetapi tidak semua isi
   dari file-file tersebut ditampilkan, melainkan hanya informasi tertentu saja yang
   ditampilkan sesuai dengan laporan yang diinginkan.

E. File Backup (Pelindung)

   Berisi salinan data-data yang masih aktif di database pada suatu waktu tertentu.
   File ini berisikan salinan (Copy) dari suatu file entah file master maupun file
   transaksi. Adapun isi (informasi) dari file backup ini sama persis dengan file
   aslinya. Jika ada yang diperbaiki maka hasil perbaikan data tersebut harus
   dibuatkan kembali backup dari file yang diperbaiki.

F. File Kerja (Temporary File)

   Berisi data-data hasil pemrosesan yang bersifat sementara. File ini berisi data
   yang sifatnya sementara (tidak permanent) dalam arti hanya numpang lewat saja,
   tetapi file ini dapat berfungsi untuk mempercepat dan optimalisasi dari
   pengolahan data.

G. File Library

   Berisi program-program aplikasi atau utility program. File ini berisi program-
   program bantu yang dapat berfungsi untuk mempercepat dan optimalisasi dari
   pengolahan data. Misalkan dalam file gaji yang mana mempunyai keterhubungan
   dengan file pendidikan pegawai (untuk mencari jenjang pendidikan dari seorang
   karyawan), file absensi (untuk megetahui data kehadiran pegawai) dan file lembur
   (untuk mengetahui intensitas kelebihan jam kerja yang dimiliki oleh seorang
   pegawai).
PERTEMUAN 12

                          ORGANISASI DAN AKSES FILE
I. ORGANISASI & AKSES FILE
  Salah satu hal penting yang tidak dapat ditinggalkan di dalam perencanan suatu
  program computer adalah data-data yang diperoleh dari berbagai sumber. Mereka
  dapat diperoleh dari hasil pengukuran dilaboratorium, hasil survey, angket dan
  sebagainya.
  Data sederhana dapat kita himpun kedalam suatu struktur organisasi data file yang
  memuat informasitentang hubungan antara item yang terdapat didalamnya, dan
  dikenal sebagai suatu organisasi file. Tipeorganisasi data file diantaranya adalah:
  organisasi file sequential, organisasi file relative(random) sertaorganisasi file index
  sequential.
  Ada beberapa tipe organisasi file data yang digunakan, yaitu susunan berurutan
  (sequential), berurutandiindeks (indexed sequential), acak (random), dan acak
  diindeks ( indexed random ). Tujuan organisasi data di dalam pemrograman
  terstruktur adalah :
  1. Untuk menyediakan sarana pencarian record bagi pengolahan, seleksi, atau
      penyaringan.
  2. Memudahkan penciptaan atau pemeliharaan file .
  Organisasi file data harus mempertimbangkan beberapa hal penting, yaitu sebagai
  berikut :
  1. Kemudahan dalam penyimpanan dan pengambilan data.
  2. Kecepatan akses data/ efisiensi akses.
  3. Efisiensi penggunaan media penyimpanan (storage device).
  Terdapat dua jenis alat penyimpanan data file yang digunakan, yaitu
  1. Piransi Akses Serial ( Squential Access Storage Device atau SASD). Contoh
      peralatan yang termasuk jenis ini adalah magnetic tape dan pita magnetic. Ciri -
      ciri dari piranti ini adalah sebagai berikut :
      a. Proses pembacaan rekaman harus berurutan.
      b. Tidak ada pengamatan.
c. Data disimpan dalam blok - blok.
   d. Proses write hanya bisa dilakukan sekali saja.
   e. Kecepatan akses datanya, sangat tergantung pada:
       1. Kerapatan pita ( char/inci ).
       2. Kecepatan pita ( inci/detik ).
       3. Lebar celah / gap antar blok.
2. Piranti Akses Direct ( Direct Access Storage Device atau DASD). Contoh piranti
   akses tipe direct adalah cakram magnetic (magnetic disk) yang terdiri dari hard
   disk atau floppy disk. Piranti ini mempunyai ciri :
   a. Pembacaan rekaman tidak harus urut.
   b. Mempunyai alamat.
   c. Data dapat disimpan dalam karakter atau blok.
   d. Proses write dapat dilakukan beberapa kali
Tiga metode susunan organisasi data file dalam media penyimpanan fisik yang lazim
untuk digunakan, yaitu sebagai berikut :


1. Sequential.
   Metode ini mempunyai ciri - ciri sebagai berikut :
   a. Rekaman disimpan berdasarkan suatu kunci.
   b. Pencarian rekaman tertentu dilakukan record demi record sesuai kuncinya.
       Metode ini baik untuk digunakan apabila pengolahan terhadap basis data
       bersifat periodik dan menyeluruh.
2. Random.
   Dalam metode ini kunci rekaman ditransformasikan ke alamat penyimpanan
   dalam media fisik secara acak (random). Metode ini akan menimbulkan beberapa
   masalah, yaitu adanya alamat yang muncul lebih dari satu kali, dan ada alamat
   yang tidak pernah muncul sama sekali. Permasalahan seperti ini diatasi dengan
   teknik overflow location, yaitu dengan menggunakan alamat yang ada
   disampingnya.
3. Indexed Sequential.
   Metode ini mempunyai ciri - ciri sebagai berikut :
a. Merupakan gabungan antara metode sequential dan random.
b. Record disimpan secara berurutan dengan menggunakan kunci.
c. Masing - masing record diberi indeks.
d. Pengalamatan dilakukan secara acak.
e. Perlu penyimpanan tambahan, yaitu untuk file indeks.
PERTEMUAN 13
                     APLIKASI PEMROGRAMAN BUSSINES

I. TEKNIK PERANCANGAN PROGRAM ORIENTASI BUSSINES

  Didalam proses pembangunan/pengembangan system informasi(Bangsis), dukungan
  teknis dari perancangan program yang terstruktur akan sangat mempengaruhi nilai
  serta kualitas dari system informasi tersebut. Oleh karena itu, semakin terstruktur dan
  sistematis program yang dibuat, maka semakin akurat dan berkualitas informasi yang
  disajikan oleh system yang dibangun.

  Berikut ini akan dijelaskan beberapa teknik perancangan program didalam
  pemrograman terstruktur untuk mendukung proses pembangunan / pengembangan
  sistem informasi (BANGSISFO)

       Teknik perancangan file atau database dalam bentuk spesifikasi file
       Teknik perancangan program dalam bentuk spesifikasi program

  I.   Langkah-langkah didalam merancang file

       Adapun mengenai langkah-langkah didalam perancangan file tersebut adalah
       sebagai berikut :

       1. Menentukan banyaknya jumlah kebutuhan file yang nanti akan digunakan
          didalam program

       2. Menentukan Parameter dari file yang akan dibuat.

          Parameter File meliputi hal-hal sebagai berikut :

          a. Menentukan NAMA-FILE

              Contoh : File-Induk-Mahasiswa

          b. Menentukan AKRONIM-FILE
Contoh : Siswa.Dbf

      c. Menentukan KODE-FILE

         Contoh : Mhs01

      d. Menentukan TYPE-FILE (file induk,file transaksi dll)

         Contoh : File-Induk

      e. Menentukan Panjang Record (RECORD-SIZE)

         Contoh : 140 Character

      f. Menentukan ORGANISASI-FILE

         Contoh : Index-Sequential

      g. Menentukan ACCESS-FILE

         Contoh : Sequential




      h. Menentukan MEDIA-FILE

         Contoh : Harddisk

      i. Menentukan FIELD-KEY

         Contoh : Nomor induk siswa (NIS)

      j. Menentukan SOFTWARE yang digunakan

         Contoh : Fox-base

II. Langkah-langkah didalam merancang PROGRAM
Adapun mengenai langkah-langkah didalam perancangan program adalah sebagai
berikut :

1. Menentukan banyaknya jumlah kebutuhan program yang nanti akan dibuat.

2. Menentukan Parameter dari Program yang akan dibuat.

    Parameter Program meliputi hal-hal sebagai berikut :

    a. Menentukan NAMA-PROGRAM

        Contoh : Program Menu Utama

    b. Menentukan AKRONIM-PROGRAM

        Contoh : Menu.Prg

    c. Menentukan KODE-PROGRAM

        Contoh : PMU01

    d. Menentukan FUNGSI-PROGRAM

        Contoh : Untuk menampilkan pilihan menu utama di dalam proses
        Program

    e. Menentukan PAKET-PROGRAMMING LANGUAGE

        Contoh : Visual Basic, Visual Foxpro

    f. Menentukan bentuk SISTEM FLOWCHART / PROGRA FLOWCHART

    g. Mentukan bentuk PROSES-PROGRAM secara rinci dan detail
PERTEMUAN 14

                        OOP (Object Oriented Programming)

I. Pengertian

   Pemrograman berorientasi objek merupakan metode yang relatif baru untuk
   melakukan perancangan atau rekayasa perangkat lunak. Tujuan metode ini adalah
   untuk meningkatkan produktivitas pemrogram dengan meningkatkan extensibiltas
   dan penggunaan kembali perangkat lunak serta untuk mengontrol biaya dan
   kompleksitas perawatan perangkat lunak.

   Secara singkat tujuan utama dari pengembangan perangkat lunak atau program
   berorientasi objek, dapat dijelaskan sbb:

      Mempersingkat waktu dan menurunkan biaya pengembangan rekayasa perangkat
      lunak.
      Menurunkan biaya perawatan perangkat lunak.
      Pemrograman berorientasi objek memberikan landasan yang sangat berguna
      untuk pembuatan prototype sistem secara cepat.

II. Metode dan Objek

   Metode merupakan suatu procedure atau fungsi yang disatukan dalam suatu objek
   serta dapat mengakses field-field data yang menjadi bagian dari objek tersebut.

   Didalam sebuah objek, metode didefinisikan dengan sesuatu header fungsi atau
   procedure yang bertindak sebagai metode. Semua field data harus didefinisikan
   sebelum deklarasi metode pertama.

   Diluar objek, sebuah metode didefinisikan secara penuh, yaitu statemen-statemen apa
   aja yang akan dikerjakan oleh metode tersebut. Nama metode harus diletakan nama
   objek yang memiliki metode tersebut.
Didalam pemrograman berorientasi objek, sebuah objek seperti halnya sebuah rekord
yang terdiri dari beberapa field data dengan diperluas adanya fungsi atau prosedur.

Prinsip pemrograman berorientasi obyek adalah sedapat mungkin field-field dalam
suatu obyek ditinggalkan menyediri sebanyak mungkin, jangan sampai field data-
field data tersebut dapat diakses secara langsung. Jadi bagaimana cara mengakses
field data-field data tersebut? Jawabannya adalah sedapat mungkin menggunakan
metode obyek(yaitu prosedur atau fungsi yang didefinisikan didalam obyek) obyek
yang bersangkutan.

Paradigma Objek

•   Paradigma adalah suatu cara pandang atau cara berpikir
•   Paradigma objek adalah cara pandang yang memandang SEGALA SESUATU
    sebagai OBJEK
•   Berbagai benda di sekitar kita adalah objek nyata yang dapat dilihat, seperti :
    kucing, meja, rumah, orang , dll
•   Data Member atau variabel

       Setiap objek yang dinamakan ‘orang’ pasti memiliki : nama, tinggi badan,
       berat badan, warna rambut, warna kulit, jenis kelamin, menggunakan
       kacamata, dll
       Ciri-ciri tersebut dapat dipindahkan menjadi variabel-variabel dari class yang
       sering disebut sebagai : data member




•   Objek dalam pemrograman adalah objek yang dibuat dari class tertentu.
•   Method

       Selain memiliki atribut(STATE) yang diimplementasikan sebagai data
       member di atas, manusia juga dapat melakukan suatu aksi atau pekerjaan
       tertentu (BEHAVIOR)
       Contoh aksi/behavior yang umum adalah menangis dan tertawa
       Kedua behavior tsb bisa dipindahkan ke dalam bahasa pemrograman menjadi
       method sbb :

Ada 3(tiga) karakteristik utama bahasa pemrograman berorientasi objek yaitu :

a. Enkapsulasi ( pengkapsulan )

    Enkapsulasi merupakan gabungan beberapa type data (record) dengan prosedur
    dan fungsi yang membentuk suatu type data baru yang tepat. Hakikat dari
    enkapsulasi ini adalah memadukan langkah program dengan data yang ada
    didalamnya. Dengan enkapsulasi anda dapat menyembunyikan didalam objek,
    baik data maupun fungsi / prosedur. Hanya dengan interface objek maka kita
    dapat mengakses datanya.

    NB: pengemasan data dan prosedur dalam objek. Ditujukan untuk melakukan
    penyembunyian informasi (information hidding).

b. Inheritance ( penurunan sifat )

    Penurunan sifat memungkinkan kita untuk membuat sebuah objek baru yang sama
    dengan objek sebelumnya yang telah didefinisikan. Karakteristik dari suatu objek
    diturunkan ke objek yang lain sehingga objek yang baru akan memiliki
    karakteristik yang sama dengan induknya. Penurunan ini diawali dengan
    mendefinisikan objek induk, sehingga dengan menggunakan objek induk tersebut,
    dapat membuat objek yang bertumpu pada objek induknya. Sehingga akan
    terbentuk objek keturunan. Dimana setiap objek turunannya dapat mengakses
    semua data dan program yang dimiliki oleh objek induknya.
NB: Memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain.

Pemrograman berorientasi objek merupakan suatu teknik atau cara berfikir untuk
merancang aplikasi yang dapat membantu memecahkan persoalan mengenai
pengembangan perangkat lunak. Teknik atau metode pemrograman berorientasi
objek didasari oleh class dan objek. Jika diibaratkan class adalah sebuah cetakan
sedangkan objek adalah hasil dari cetaan tersebut.

Class digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek.
Class merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang
mengoperasikan kumpulan data tersebut. Pengkapsulan adalah mengkombinasian
suatu struktur dengan fungsi yang memanipulasinya untuk membentuk tipe data
baru.

Suatu class dapat diciptakan berdasarkan class lain. Class baru ini mempunyai
sifat-sifat yang sama dengan class pembentunya, ditambah sifat-sifat khusus
lainnya, inilah yang disebut konsep pewarisan. Dengan pewarisan kita dapat
menciptakan class baru yang mempunyai sifat sama dengan class induknya tanpa
menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting
dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar
pertama penggunaan kode ulang (code reuse).




Sifat pewarisan ini menyebabkan class-class dalam pemrograman berorientasi
objek membentuk hirarki class mulai dari class dasar, class turunan pertama, class
turunan kedua dan seterusnya. Sebagai gambaran misalnya ada hiararki class
unggas.
Sebagai class dasar adalah Unggas. Salah satu sifat Unggas adalah bertelur dan
bersayap. Class turunan pertama adalah Ayam, Burung dan Bebek. Tiga class
turunan ini mewarisi sifat class dasar Unggas yaitu bertelur dan bersayap. Selain
mewarisi sifat class dasar , masing-masing class turunan mempunyai sifat khusus,
seperti Ayam berkokok, Burung terbang dan Bebek berenang. Class Ayam punya
class turunan yaitu Ayam Kampung dan Ayam Hutan. Dua class ini mewarisi
sifat class Ayam yang berkokok. Tetapi dua class juga punya sifat yang berbeda,
yaitu : Ayam Kampung berkokok panjang halus sedangkan Ayam Hutan
berkokok pendek dan kasar.




Superclass, class yang letaknya di atas class tertentu di dalam hierarki.

Subclass, class yang letaknya di bawah class tertentu di dalam hierarki.

Contoh Program Inheritance

Kali ini kita akan membuat sebuah program simple yang menggambarkan konsep
inheritance. Didalam program yang akan dibuat terdapat sebuah base class (class
induk) bernama ORANG_TUA dan dua class turunannya (ANAK_PRIA dan
ANAK_WANITA). Langkah-langkahnya adalah sebagai berikut :

1. Desain proyek baru dan pada form tambahkan objek listbox dan button.

2. Tambahkan class baru dengan nama ORANG_TUA dan ketikkan kode2
   program berikut :
Public Class ORANG_TUA‘variabel untuk menampung nama bapak

Private XBapak As String

‘variabel untuk menampung nama ibu

Private XIbu As String

‘property (atribut/informasi) class

Public Property Nama_Bapak() As String

‘Get : hanya ijinkan akses data

Get

Return XBapak

End Get

‘Set : mengijinkan ubah data

Set(ByVal value As String)

XBapak = value

End Set

End Property

‘property (atribut/informasi) class

Public Property Nama_Ibu() As String

Get
Return XIbu

  End Get

  Set(ByVal value As String)

  XIbu = value

  End Set

  End Property

  End Class




3. Tambahkan class baru dengan nama ANAK_WANITA dan ketikan kode2
  berikut :

  Public Class ANAK_WANITA‘membuat turunan dari base class

  Inherits ORANG_TUA

  Private XWanita As String

  Private XUsia_W As String

  Public Property Nama_Wanita() As String

  Get

  Return XWanita

  End Get
Set(ByVal value As String)

   XWanita = value

   End Set

   End Property

   Public Property Usia_Wanita() As Byte

   Get

   Return XUsia_W

   End Get

   Set(ByVal value As Byte)

   XUsia_W = value

   End Set

   End Property

   End Class

4. Tambahkan class baru dan beri nama ANAK_PRIA dan tambahkan kode2
   program berikut :

   Public Class ANAK_PRIA‘membuat turunan dari base class

   Inherits ORANG_TUA

   Private XPria As String
Private XUsia_P As String

   Public Property Nama_Pria() As String

   Get

   Return XPria

   End Get

   Set(ByVal value As String)

   XPria = value

   End Set

   End Property

   Public Property Usia_Pria() As Byte

   Get

   Return XUsia_P

   End Get

   Set(ByVal value As Byte)

   XUsia_P = value

   End Set

   End Property

   End Class

5. Sekarang : buat event click pada objek button1 dan ketikkan kode2 berikut :
Public Class Form1Private Sub Button1_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

Dim obj_Wanita As New ANAK_WANITA

Dim obj_Pria As New ANAK_PRIA

With obj_Wanita

.Nama_Bapak = “Subandrio”

.Nama_Ibu = “Titi Rukmiati”

.Nama_Wanita = “Nina Ramadani”

.Usia_Wanita = 10

End With

With obj_Pria

.nama_pria = “Kevin Maulana”

.Usia_pria = 6

End With

With ListBox1

.Items.Add(“nama ayah : ” & _

obj_Wanita.Nama_Bapak)
.Items.Add(“nama ibu    :”&_

      obj_Wanita.Nama_Ibu)

      .Items.Add(“anak wanita : ” & _

      obj_Wanita.Nama_Wanita)

      .Items.Add(“usia      :”&_

      obj_Wanita.Usia_Wanita)

      .Items.Add(“anak pria : ” & _

      obj_Pria.Nama_Pria)

      .Items.Add(“usia      :”&_

      obj_Pria.Usia_Pria)

      End With

      End Sub

      End Class

c. Polimorphism ( keaneka ragaman )

   Dengan polimorphism kita dapat membuat sebuah objek baru yang menunjukkan
   fungsi-fungsi yang sama dengan objek induknya, namun fungsi fungsi yang sama
   tersebut memiliki operasi yang berbeda-beda. objek yang masih didalam suatu
   hierarki dapat menyusun objek yang lainnya, sesuai dengan kebutuhan dari objek
   tersebut, yang artinya pemrograman berorientasi objek ini menyangkup keaneka
   ragaman objek yang menjamin terhimpunnya perpaduan keaneka ragaman data
   dengan prosedur atau fungsi.
NB: konsep yang menyatakan sesuatu nama yang sama dapat memiliki berbagai
bentuk perilaku yang berbeda.

Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda,
diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika
memilih method yang sesuai untuk diimplementasikan ke objek tertentu
berdasarkan pada subclass yang memiliki method bersangkutan




Pada contoh sebelumnya, kita diberikan parent class yaitu Person dan subclassnya
adalah Student, sekarang kita tambahkan subclass lainnya dari Person yaitu
Employee
Contoh polimorpism :


saya melatih anjing saya dengan perintah untuk menggonggong dan juga saya
melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan
latihan untuk merespon kepada mereka dengan perintah lisan. Melalui
polymorphism saya tahu bahwa anjing dan burung akan merespon dengan
gonggongan atau kicauan.

More Related Content

What's hot

Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMelva Amma Kalian
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrogramanlidyanamaria
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Materi Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMateri Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMartin Arale
 
Bab 1 pengantar algoritma
Bab 1 pengantar algoritmaBab 1 pengantar algoritma
Bab 1 pengantar algoritmaKang Koko
 
Modul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIModul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIsyahril17
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarDisma Ariyanti W
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Braga Rezpect
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANAziz Moeslim
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Adri Demmanongkan
 
Dasar pemrograman pascal
Dasar pemrograman pascalDasar pemrograman pascal
Dasar pemrograman pascalSimon Patabang
 

What's hot (19)

Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrograman
 
Pertemuan_2
Pertemuan_2Pertemuan_2
Pertemuan_2
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrograman
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Materi Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMateri Pemrograman Dasar SMK
Materi Pemrograman Dasar SMK
 
Bab 1 pengantar algoritma
Bab 1 pengantar algoritmaBab 1 pengantar algoritma
Bab 1 pengantar algoritma
 
Pengenalan Algoritma Komputer
Pengenalan Algoritma KomputerPengenalan Algoritma Komputer
Pengenalan Algoritma Komputer
 
Pemrograman komputer
Pemrograman komputerPemrograman komputer
Pemrograman komputer
 
Definisi Algoritma
Definisi AlgoritmaDefinisi Algoritma
Definisi Algoritma
 
Modul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIModul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman II
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasar
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
 
Dasar pemrograman pascal
Dasar pemrograman pascalDasar pemrograman pascal
Dasar pemrograman pascal
 

Similar to Tugas Pt

Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfRizaJr
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrogramanReza Optoriter
 
Laporan Praktikum DPK Dasar
Laporan Praktikum DPK DasarLaporan Praktikum DPK Dasar
Laporan Praktikum DPK DasarNadiaRN
 
1 adp dasar-dasar pemrograman
1   adp dasar-dasar pemrograman1   adp dasar-dasar pemrograman
1 adp dasar-dasar pemrogramanMuhammad Salihin
 
1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritmaHardini_HD
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritmaAvenzz Venzz
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritmaFisma Ananda
 
Pengantar algoritma dan pemrograman
Pengantar algoritma dan pemrogramanPengantar algoritma dan pemrograman
Pengantar algoritma dan pemrogramanMAFauzan
 
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMANPENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMANNur Kholifah Hidayah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemogramanankg44
 

Similar to Tugas Pt (20)

Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrograman
 
flowchart
flowchartflowchart
flowchart
 
1 ADP Algoritma
1   ADP Algoritma1   ADP Algoritma
1 ADP Algoritma
 
Laporan Praktikum DPK Dasar
Laporan Praktikum DPK DasarLaporan Praktikum DPK Dasar
Laporan Praktikum DPK Dasar
 
Pertemuan1 ok
Pertemuan1 okPertemuan1 ok
Pertemuan1 ok
 
1 adp dasar-dasar pemrograman
1   adp dasar-dasar pemrograman1   adp dasar-dasar pemrograman
1 adp dasar-dasar pemrograman
 
1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
Bab 1
Bab 1 Bab 1
Bab 1
 
Pengantar algoritma dan pemrograman
Pengantar algoritma dan pemrogramanPengantar algoritma dan pemrograman
Pengantar algoritma dan pemrograman
 
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMANPENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
PENGENALAN SSISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN
 
Laporan praktikum dpk modul 1
Laporan praktikum dpk modul 1Laporan praktikum dpk modul 1
Laporan praktikum dpk modul 1
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemograman
 

Tugas Pt

  • 1. Nama Kelompok : Subchi (13071567) Teguh Pamungkas (13071571) Rino Ari Widodo (13071575) Restu Subiandana (13071583) Suci Nur Endah (13071588) PERTEMUAN 1 PENGENALAN DASAR PEMROGRAMAN I. Pengertian Program adalah pernyataan yang disusun menjadi satu kesatuan prosedur yang berupa urutan langkah yang disusun secara logis dan sistematis untuk menyelesaikan masalah. Bahasa Pemrograman adalah prosedur penulisan program. Terdapat 3 faktor penting dalam bahasapemrograman : 1. Sintaks adalah aturan penulisan bahasa tersebut (tata bahasanya). 2. Semantik adalah arti atau maksud yang terkandung didalam statement tersebut. 3. Kebenaran logika adalah berhubungan dengan benar tidaknya urutan statement. Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman. Dalam pengolahan data memerlukan beberapa aspek-aspek dasar yaitu : A. Brainware Tenaga pelaksana yang menjalankan serta mengawasi pengoperasian sistem unit komputer didalam proses pengolahan data untuk menghasilkan suatu informasi yang tepat waktu, tepat guna dan akurat. Contoh : Sistem Analis, Programmer, operator, Technical Support, dll. B. Hardware Serangkaian unsur-unsur yang terdiri dari beberapa perangkat keras komputer yang digunakan untuk membantu proses kerja manusia ( Brainware ). Contoh : CPU, Monitor, Keyboard
  • 2. C. Software Serangkaian unsur-unsur yang terdiri dari beberapa perangkat lunak program komputer yang digunakan untuk membantu proses kerja manusia ( Brainware ). Contoh : Sistem Software, Application Software, Package Software, dll II. Bahasa Pemrograman Berdasarkan Perkembangan A. Machine Language Bahasa Pemrograman yang hanya dapat dimengerti oleh mesin ( komputer ) yang didalamnya terdapat CPU yang hanya mengenal 2 (dua) keadaaan yang berlawanan, yaitu : - Bila tejadi kontak (ada arus) bernilai 1 - Bila kontak terputus (tidak ada arus) bernilai 0 B. Low Level Language (Bahasa Tingkat Rendah) Karena susahnya bahasa mesin, maka dibuatlah simbol yang mudah diingat yang disebut dengan “Mnemonics” ( Pembantu untuk mengingat ). Contohnya : A : Untuk kata Add (Menambahkan) B : Untuk kata Substract (mengurangi ) Mov : Untuk kata Move ( Memindahkan ) Bahasa Pemrograman yang menerjemahkan Mnemonics disebut Assembler. C. Middle Level Language (Bahasa Tingkat Menengah) Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisanpernyataan, mudah untuk dipahami dan memilik instruksi - instruksi tertentu yang dapat langsungdiakses oleh komputer. Contohnya adalah bahasa C. D. High Level Language (Bahasa tingkat tinggi) Bahasa Pemrograman yang dalam penulisan pernyataannya mudah dipahami secara langsung. Bahasa pemrograman ini terbagi menjadi 2 yaitu : 1. Procedure Oriented Language a. Scientific, digunakan untuk memecahkan persoalan Matematis/perhitungan Misal : Algol, Fortran, Pascal, Basic
  • 3. b. Bussines, digunakan untuk memecahkan persoalan dalam bidang bisnis. Misal : Cobol, PL/1. 2. Problem Oriented Language Misal : RPG (Report Program Generator). E. Object Oriented Language(Bahasa berorientasi obyek) Bahasa pemrograman yang berorientasi pada obyek. Bahasa pemrograman ini mengandung fungsi-fungsi untuk menyelesaikan suatu permasalahan dan program tidak harus menulis secara detail semua pernyataannya, tetapi cukup memasukkan kriteria-kriteria yang dikehendaki saja Contohnya : Visual dBase, Visual FoxPro, Delphi, Visual C , dll. III. Kerangka Dasar Pemrograman Originating : tahap ini berhubungan dengan proses pengumpulan data, yang biasanya merupakan proses pencatatan(recording) data ke dokumen dasar. Input : Tahap ini merupakan proses pemasukan data(entry data) ke dalam proses komputer melalui peralatan input(input device) Process : Tahap ini merupakan proses pengolahan data dari data yang sudah dimasukkan yang berupa proses menghitung, membandingkan, mengklasifikasikan, mengurutkan, mengendalikan dan mecari di storage. Output : Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output(output device) yang berupa informasi. Distibution : Tahap ini merupakan proses penyebaran informasi kepada pihak- pihak yang berhak dan membutuhkan informasi. Storage : Tahap ini merupakan perekaman hasil pengolahan data ke secondary storage, yangndapat dipergunakan sebagai bahan input untuk proses selanjutnya.
  • 4. PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN I. Algoritma Pemrograman Yang Baik Ciri-ciri algoritma pemrograman yang baik adalah : 1. Memiliki logika perhitungan/metode yang tepat dalam memecahkan masalah 2. Menghasilkan output yang tepat dan benar dalam waktu yang singkat 3. Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak menimbulkan arti ganda. 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas. 6. Semua proses harus berakhir setelah sejumlah langkah dilakukan. Berikut ini contoh program yang mempunyai algortima yang tidak baik karena mengandung kesalahan logika. Uses crt; Begin Var Writeln (‘Bina Sarana I : Integer; Informatika’); Begin I := I + I ; Clrscr; Readln; I := 0; End; While I < 5 Do End. Berikut ini contoh program yang mempunyai algortitma yang baik karena mempunyai logika yang benar Uses crt; Begin Var Writeln(‘Bina Sarana I : Integer; Informatika’); Begin I := I + 1; clrscr; Readln; I := 0; End; While I < 5 Do End.
  • 5. Program akab berhenti karena kondisi yang ada terpenuhi sebanyak 5(lima) II. Standar Suatu Program Yang Baik A. Standar Pemecahan masalah Teknik untuk dapat membantu memecahkan masalah antara lain teknik Top Down dan teknik Modular. Pemrograman Modular: Program dipecah-pecah kedalam modul-modul, dimana setiap modul menunjukkan fungsi dan tugas tunggal, dimana setiap modul menunjukkan fungsi dan tugas tunggal. Pemrograman top down sangat berguna dalam perencanaan pemrograman modular.Dalam pemrograman top-down yang pertama harus kita didefinisikan adalah modul utama. Modul utama yang dimaksud adalah modul yang pertama kali dijalankan atau modul yang memanggil modul lainnya atau juga modul yang mengakhiri proses program tersebut. B. Standar Penyusunan Program 1. Kebenaran logika dan penulisan Program yang disusun harus memiliki logika dalam pemecahan masalah. Program yang dibuat harus memiliki ketepatan, ketelitian dan kebenaran sehingga menghasilkan program yang baik. 2. Waktu penulisan dan eksekusi program a. Contoh Logika pengujian yang tidak baik karena pengujian yang berulang – ulang sehingga waktu eksekusi tidak efisien IF item = nilai1 instruksi1 Endif IF item = nilai2 Instruksi2 Endif IF item = nilai3 instruksi3 Endif
  • 6. Bentuk diatas akan melakukan pengujian sebanyak 3(tiga) kali untuk mendapatkan satu alternatif. b. Logika pengujian yang baik sehingga waktu lebih efisien: IF item = nilai1 instruksi1 ELSE IF item = nilai2 instruksi2 ELSE IF item = nilai3 instruksi3 ENDIF ENDIF Bentuk ini setelah pengujian berhasil mendapatkan solusi, maka proses pengujian tidak akan dilanjutkan lagi a. Contoh kedua susunan baris program yang tidak baik n := 1; while n <=50 do Begin item (n) := A*B/C+D-E+n; n := n + 1; Readln; End; Bentuk eksekusi program diatas akan lambat karena eksekusi ekpresi matematika A*B/C+D-E+n akan diulang-ulang b. Susunan baris program yang baik n := 1; Hasil := A*B/C+D-E+n; while n <=50 do Begin item (n) := Hasil + n n := n + 1; Readln;
  • 7. End; Bentuk eksekusi program diatas akan lebih cepat karena eksekusi ekspresi matematika A*B/C+D-E+n 3. Perawatan dan pengembangan program Penyusunan program harus mempunyai sifat kesederhanaan dan kejelasan dari program yang nantinya akan dikembangkan dan membantu dalam perawatan. 4. Portabilitas Bahasa pemrograman dan program yang disusun sebaiknya bisa dipakai pada berbagai tipe komputer yang berbeda-beda dan berbagai jenis sistem operasi. C. Standar Perawatan Program 1. Dokumentasi Dokumenatasi berguna untuk melakukan penelusuran jika terjadi kesalahan dan memberikan informasi kepada orang lain dapat mengerti dan memahami alur logika program. 2. Penulisan Instruksi Beberapa hal yang perlu diperhatikan dalam penulisan instruksi atau statement program yaitu: a. Berikan keterangan untuk awal statement atau instruksi yang tergabung dalam sekelompok statement. b. Awal dan akhir statement dari sekumpulan statement ditulis pada kolom yang sama. FOR I :=1 TO N DO BEGIN …………………….. ……………………… END c. Gunakan sebaris atau beberapa baris kosong sebagai pemisah. d. Hindari pernyataan untuk Percabangan (IF statement ) yang sangat rumit dan Nested Loop (Loop disalam Loop lain) yang berlebihan. e. Gunakan “kurung buka dan tutup” dalam menulis suatu ekspresi Aritmatika atau logika.
  • 8. WHILE (………….) DO BEGIN …………………….. ……………………… END; f. Gunakan “Spasi” dalam menulis statement atau instruksi. WHILE (N>=15) DO III. Sifat Penulisan Program a. Program Oriented Penulisan program yang struktur programnya selalu berubah, apabila kondisi data yang diproses di dalam program tersebut, bertambah volume datanya. Selain itu penulisan program ini bersifat statis dan tidak fleksibel (program animasi) b. Data Oriented Penulisan program yang struktur programnnya tidak selalu berubah, walaupun volume data yang diproses di dalam program tersebut, dalam jumlah besar. Selain itu pula penulisan program ini bersifat dinamis dan mempunyai tingkat fleksibilitas yang tinggi. IV. Kualitas Bahasa Pemrograman a. Ekspresivitas :Bahasa pemrograman yang baik addalah mampu menggambarkan algoritma yang dibuat oleh programmer b. Dapat didefinisikan dengan baik : sintaks dan semantik bahasa pemrograman yang baik haruslah konsisten dan tidak bermakna ganda c. Tipe data dan strukturnya: Bahasa programmer yang baik haruslah berkemampuan untuk mendukung berbagai tipe data(integer, real, pointer,dsb) dan terstruktur dalam array, record ataupun object d. Modularitas : Bahasa pemrograman yang baik harus mempunyai fasilitas subprogramming sehingga suatu program yang besar dapat dikerjakan oleh sekaligus beberapa pemrogram secara bersama-sama yang nantinya dengan mudah dapat digabungkan menjadi sebuah modul saja.
  • 9. e. Fasilitas masukan keluaran : Bahasa pemrograman yang baik haruslah dapat mendukung berbagai jenis model file seperti sequential, random access, index, multiple index dan lain sebagainya dalam pemrosesan masukan dan keluaran f. Portabilitas : Bahasa pemrograman yang baik haruslah dapat dipakai pada berbagai tipe mesin komputer yang berbeda, jadi bersifat machine independet. g. Efisiensi : Bahasa pemrograman yang baik haruslah dapat dipakai pada berbagai tipe mesin komputer yang berbeda, jadi bersifat machine independet h. Mudah dipelajari : bahasa pemrograman tersebut harus mudah dipelajari maupun diajarkan i. Bersifat Umum : Bahasa pemrograman tersebut harus memiliki jangkauan luas pada berbagai aplikasi pemrograman sehingga dapat disebut bahasa yang serbaguna.
  • 10. PERTEMUAN 3 TAHAPAN MEMBUAT PROGRAM I. Tahapan-Tahapan Membuat Program A. Membuat Suatu Program Yang Kompleks Untuk membuat program yang besar dan kompleks, programmer membutuhkan tahapan-tahapan dibawah ini : 1. Definisi Masalah : Langkah-langkah dalam pendefinisian masalah adalah: a. Pemahaman Permasalahan: Seorang programmer harus paham permasalahan yang timbul sehingga terjalin dengan baik komunikasi dengan pihak yang mempunyai masalah b. Identifikasi Permasalahan : Programmer harus dapat mengidentifikasikan permasalahan yang ada sehingga programmer dapat menentukan batasan permasalahannya. 2. Analisis Kebutuhan : Tujuannya adalah untuk menentukan spesifikasi fungsi, kemampuan dan fasilitas program dari program yang akan dibuat sehingga bermanfaat untuk evaluasi setelah pembuatan program. 3. Desain Algoritma / Membuat Rumusan Pemecahan Masalah : Algoritma yang didesain khusus harus memiliki kebenaran secara logika sebelum siap untuk diimplementasikan ke dalam bentuk program. Algoritma disusun dalam bentuk Pseudocode atau flowchart Contoh menghitung Luas lingkaran: Pseudocode Flowchart Phi . 3.14 Input (diameter) Radius . diameter/2 Luas .phi*radius*radius Output(luas) end
  • 11. 4. Bahasa Pemrograman Fungsi dari bahasa pemrograman adalah sebagai media untuk membuat program dan juga sebagai alat komunikasi antara programmer dan komputer. Contohnya Pascal, Bahasa C, Visual Basic, Visual Foxpro, dll 5. Testing dan Debugging Testing adalah menguji program sampai bebas dari error Debugging adalah mengoreksi error yang terdeteksi 6. Dokumentasi Dokumentasi merupakan informasi dan gambaran tambahan yang bertujuan untuk menjadi pedoman dan penjelasan bagi para pemakai 7. Pemeliharaan Pemeliharaan perangkat lunak meliputi: a. Corrective Maintenance, melakukan koreksi hasil yang didapat oleh pemakai tidak sesuai b. Adaptive Maintenance, Adaptasi sehingga memerlukan modifikasi dari program yang dibuat c. Prefective Maintenance,Tambahan fungsi-fungsi/fasilitas pada program setelah dilakukan pengujian dan pemakaian oleh user d. Preventive Maintenance, Tambahan fungsi-fungsi/fasilitas pada program sesuai dengan perkembangan masa mendatang B. Membuat Suatu Program Yang Sederhana Untuk membuat suatu program yang sederhana, programmer tidak perlu menggunakan tujuh tahapan diatas, tetapi cukup beberapa tahap saja, seperti : a. Definisi Masalah b. Desain Algoritma c. Bahasa Pemrograman d. Testing and Debugging C. Karakteristik Seorang Programmer 1. Mampu menyusun algoritma dengan baik dan logis. 2. Memiliki ketekunan dan ketelitian yang tinggi.
  • 12. 3. Menguasai bahasa dan teknik penulisan program dengan baik. 4. Dapat bekerja sama dalam suatu tim. 5. Dapat bekerja secara efisien dan tepat waktu D. Menulis Program Interaktif 1. Program harus dapat melakukan validasi terhadap setiap data yang masuk. 2. Program harus dapat mengecek setiap kemungkinan-kemungkinan yang penting, yang akan muncul pada data masukan. 3. Buatlah format masukan sesederhana mungkin 4. Buatlah agar program dapat memberikan tanda bahwa data yang ikehendaki sudah terpenuhi. 5. Berikan label atau keterangan pada setiap keluaran, termasuk bentuk pesan kesalahan apabila sipemakai salah mengoperasikan program tersebut. 6. Berikan pesan, apabila program sedang melakukan suatu proses yang memerlukan suatu waktu tunggu.
  • 13. PERTEMUAN 4 STRUKTUR SUATU BAHASA PEMROGRAMAN I. Struktur Bahasa Program Prosedural A. Bagian Deklarasi 1. Deklarasi Variable Untuk mendeklarasikan variable pada Pascal, digunakan reserved word var, kemudian diikuti dengan nama variable (identifier) yang ingin digunakan, dan kemudian tipe data dari variable tersebut. Sedangkan pada C, deklarasi diawali dengan tipe data variable baru diikuti dengan nama variable (identifier). Suatu identifier harus diawali oleh karakter bukan angka, tetapi tidak boleh mengandung karakter khusus seperti * , - + / = < > . ? & dan sebagainya. Pada bahasa Pascal, identifier tidak bersifat case sensitive, maksudnya, huruf besar ataupun huruf kecil dianggap sama. Sebaliknya pada Bahasa C, identifier bersifat case sensitive, sehingga variable s dan S akan dianggap dua identifier yang berbeda. 2. Deklarasi Konstanta Konstanta yaitu nilai yang tetap. Jadi jika mengacu pada contoh di atas, maka nilai phi tidak dapat diubah-ubah dan akan selalu 3.14 3. Deklarasi Tipe Data Type TdataSiswa = ^DataSiswa; DataSiswa = record Nama : String [30]; Alamat : String [60]; Telp : String [14]; End; Tipe Data dapat dikelompokkan menjadi: a. Tipe Data sederhana Tipe data sederhana merupakan tipe data yang paling kecil, yang hanya melibatkan satu item data, misalnya tipe data integer, string, real, Boolean, dan sebagainya. Kita dapat juga mendefinisikan sendiri tipe data ini. Tipe
  • 14. data yang didefinisikan sendiri tersebut distilahkan enumerated data type (pada contoh adalah type hari). b. Tipe Data terstruktur Tipe data terstruktur merupakan tipe data yang terdiri dari beberapa item data. Bentuk dari tipe data ini dapat berupa array (terdiri dari item-item yang memiliki tipe data yang sama) ataupun record (terdiri dari item-item yang boleh memiliki tipe data yang berbeda). Pada contoh di atas, DataSiswa termasuk tipe data terstruktur. c. Tipe Data Pointer Tipe data pointer digunakan untuk menunjuk pada alamat memory suatu data yang lain. Jadi tipe data pointer pada dasarnya tidak menyimpan nilai data secara langsung, melainkan hanya menyimpan alamat dimana data berada. Untuk contoh pada bahasa Pascal, TDataSiswa merupakan tipe data pointer. Pada Bahasa C, untuk mendeklarasikan pointer untuk tipe data DataSiswa pada variable yang bernama TDataSiswa, dapat dituliskan sebagai berikut: DataSiswa *TDataSiswa; 4. Deklarasi Procedure/Function: Jika melihat pada contoh deklarasi pada bahasa C, mungkin timbul pertanyaan apa beda prosedur dengan fungsi? Pada Bahasa C, semua sub program dianggap fungsi, berbeda dengan Pascal yang menyertakan reserved word procedure dan function untuk membedakan antara keduanya. Sebenarnya, perbedaan utama antara prosedur dan fungsi yaitu: prosedur adalah fungsi yang tidak mengembalikan suatu nilai. Sebaliknya fungsi adalah suatu prosedur yang mengembalikan nilai. Apabila mengacu pada contoh di atas, maka fungsi tambah akan mengembalikan suatu nilai yang bertipe integer, sedangkan prosedur Cetak tidak mengembalikan nilai apa-apa. Pada Bahasa C, procedure pada dasarnya adalah function yang mengembalikan void alias tidak mengembalikan nilai apa-apa.
  • 15. B. Bagian Statment Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi/dijalankan. Pada bahasa Pascal, bagian statement selalu diawali dengan reserved word begin dan end. Apabila blok statement adalah blok utama program, maka reserved word end harus diakhiri dengan tanda titik(.), sebaliknya jika blok statement bukan blok utama program maka reserved word end diakhiri dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari deklarasi variable hingga akhir statement diawali dan diakhiri dengan tanda kurung kurawal { dan }. Berikut adalah contoh potongan kode untuk implementasi menghitung luas lingkaran dengan Bahasa Pascal (kiri) dan Bahasa C (kanan). Bahasa Pascal: procedure Cetak (kal: String); function Tambah (a,b:Integer): Integer; Bahasa C: void Cetak (char *String); int Tambah (int a, int b); uses crt; const phi = 3.14; var diameter, radius, Luas : real; begin readln(diameter); radius := diameter / 2; Luas := phi * radius * radius; writeln(Luas); end. #include <stdio.h> void main() { const phi = 3.14;
  • 16. float diameter, radius, Luas; scanf(“%f”, &diameter); radius = diameter / 2.0; Luas = phi * radius * radius; printf(“%f”,Luas); }
  • 17. PERTEMUAN 5 ELEMEN-ELEMEN BAHASA PEMROGRAMAN I. Elemen-Elemen Dalam Bahasa Pemrograman Berikut adalah element-element pada bahasa pemrograman: A. Aturan Leksikal yaitu aturan yang digunakan dalam membentuk suatu deklarasi, definisi maupun statement hingga menjadi satu program yang utuh. Aturan ini meliputi beberapa element antara lain: 1. Token : element terkecil pada bahasa pemrograman yang memiliki arti penting bagai compiler. Yang termasuk token antara lain. Identifier, keyword, operator dan sebagainya. Token yang satu dengan yang lain dipisahkan dengan satu atau lebih spasi, tab, baris baru atau komentar 2. Komentar : teks(kumpulan karakter) yang diabaikan oleh compiler. Komentar sangat berguna untuk memberi catatan mengenai bagaian program tertentu sebagai referensi baik bagi programmer itu sendiri maupun orang lain yang membaca kode program tersebut. Pada bahasa pascal, teks yang berada diantara kurung kurawal pembuka { dan kurung kurawal tutup } akan dianggap sebagai komentar., selain itu dapat pula menggunakan tanda (* sebagai pembuka komentar, dan tanda ) sebagai penutup Contoh pascal: ( program mencetak hello world Oleh: saya *) Begin {cetak hello World Oleh saya } Writeln(‘Hello World’); end 3. Identifier : merupakan kumpulan karakter yang digunakan sebagai penanda untuk nama variable, namatipe data, fungsi prosedur dan sebagainya. Aturan penulisan identifier pada bahasa pascal dan bahasa C dapat dikatakan serupa. Yaitu : suatu identifier harus diawali oleh karakter non angka sebagai
  • 18. berikut:_abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ selanjutnya boleh menggunakan karakter angka maupun karakter non angka tersebut diatas, namun tidak boleh menggunakan karakter khusus/spesial seperti + - * / ?! {} [] dan sebagainya Berikut adalah contoh-contoh identifier yang benar _nama No_telp 4. Keywords (Reserved Words) : merupakan kata-kata yang telah ada/ didefinisikan oleh bahasa pemrograman yang bersangkutan.Kata-kata tersebut telah memiliki definisi yang sudah tetap dan tidak dapat diubah. Karena telah memiliki definisi tertentu maka kata-kata ini tidak dapat digunakan sebagai identifier Pada bahasa pascal, yang termasuk reserved word antara lain: And array asm begin case const div do downto else end file for forward function goto if in label mod nil not of or packed program procedure recor repeat set string then to type unit until uses var while with 5. Operator : digunakan untuk menyatakan suatu perhitungan/operasi. Operator yang digunakan untuk operasi yang melibatkan satu operand disebut unary operator. Jika melibatkan dua operand maka disebut binary operator, dan jika melibatkan tiga operand, operator tersebut disebut ternary operator.Didalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari operatoroperator disebut juga operator predence. Prendence yang lebih rendah akan dieksekusi belakangan, Misalnya A = 10 + 5 * 2 a. Arithmetic Operator :operator yang digunakan untuk melakukan operasi matematika seperti penuumlahan, pengurangan,perakalian, pembagian b. Assignment Operator : digunakan untuk memberi nilai suatu identifier. Pada bahasa pascal, digunakan tanda titik dua dan tanda sama dengan := untuk memberi nilai pada variabel. Contoh:
  • 19. C := A + B Tanda = memiliki fungsi yang sama dengan tanda := pada bahasa pascal c. Bitwise dan Logical Operator : digunakan untuk melakukan operasi bit dan logika. Yang termasuk didalam operator ini antara lain: Negasi : Not Contoh A;=NOT B; And contoh A:=A and B; Or Contoh A:=B OR C; shift left(<<) contoh A;=B shl C; Shift Right(>>) Contoh A:B shr C; d. Relational Operator : digunakan untuk membandingkan nilai dua operand. Sebagai catatan, operand yang dibandingkan harus memiliki tipe data yang sama kecuali untuk bilangan bulat(bertipe integer) dan bilangan pecahan(bertipe real atau float). Yang termasuk operator relasional yaitu: penanda kesamaan (=), penanda lebih besar, penanda lebih besar atau sama dengan, penanda lebih kecil, penanda lebih kecil atau sama dengan,penanda tidaksamaan(<>) e. Pointer Operator : digunakan untuk melakukan operasi operand yang berupa pointer. Pada bahasa pascal digunakan tanda ^ sebagai deference pointer B. Tipe data Pada suatu bahasa pemrograman umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur . Dan apabila kita membutuhkan tipe data yang belum tersedia kita dapat mendefinisikan sendiri tipe data baru yang disebut enumerated type. Berikut adalah tipe data sederhana (simple) : Tipe Pascal Bahasa C Jangkauan Nilai
  • 20. Integer byte char(unsigned char) 0..255 shortint char(signed char) -128..127 integer Int -32768..32767 word short(unsigned char) 0..65535 longint Long -2147483648..2147483647 Real/Pecahan real float 3.4 E – 38..3.4 E +38 double double 1.7 E – 308..1.7E + 308 String String,char(1 karakter) -- Boolean Boolean Bool(tidak terdapat pada bahasa C standar) True, false Yang dimaksud dengan tipe data terstruktur yaitu tipe data yang dapat menampung lebih dari satu nilai, sbb: 1. Array Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih elemen/komponen yang memiliki tipe data yang sama. Berikut adalah contoh penggunaan array: {bahasa pascal} Var Bil : array[0..3] of integer; Begin Bil[0]:=1; Bil[1]:=2; Bil[2]:=bil[0] + 2; Bil[3]:=bil[0] + bil[2]; End; 2. Record (Pascal) atau struct (Bahasa C)
  • 21. Tipe data ini digunakan untuk merepresentasikan kumpulan (set) elemen/komponen yang memiliki satu jenis atau lebih tipe data. Tiap element disebut juga field atau property atau attribute. Beriut adalah contoh penggunaan record dan struct {bahasa pascal} Type Tsiswa = record No_induk: integer; Gender: char; /bahasa C*/ Stuct Tsiswa{ Int no_induk; Char gender; }; End; Var Saya:Tsiswa; Teman:array[1..3] of Tsiswa; Saya.no_induk:=10; Saya.gender:=’L’; Teman[1],no_induk:=1; Teman[1],gender:=’L’; Teman[2],no_induk:=2; Teman[2],gender:=’P’; Teman[3],no_induk:=3; Teman[3],gender:=’P’; End; Void main(){ Struct Tsiswa saya, teman[3]; Saya.no_induk:=10; Saya.gender:=’L’; Teman[0],no_induk:=1;
  • 22. Teman[0],gender:=’L’; Teman[1],no_induk:=2; Teman[1],gender:=’P’; Teman[2],no_induk:=3; Teman[2],gender:=’P’; } Pada contoh diatas, dideklarasikan tipe data terstruktur yang diberi nama Tsiswa. Tipe data tersebut terdiri atas dua elemen yang masing-masing bertipe integer dan char C. Expression Expression yang paling sederhana yaitu nama variable. Expression yang lebih kompleks akan melibatkan operator-operator, maupun pemanggilan function atau procedure. Berikut adalah contoh expression: A hanya berupa nama variable 10 berupa suatu nilai A + 3 * 2 . expression menggunakan operator Calculate(A,B) . melakukan pemanggilan function bernama calculate D. Statement: seperti yang telah disinggung diatas,statement merupakan bagaian program yang berisi perintah yang akan dieksekusi/dijalankan. 1. Simple Statement yaitu statement yang tidak berisi satatement lainnya, sbb: a. Assignment Statement : yaitu statement yang digunakan untuk memberikan nilai ke suatu variable Contoh Pascal Contoh Bahasa C a:=10; b:=a*2; c:=c*b; Student[i].id:=12; a=10; b=a*2; c=c*b;
  • 23. Student[i].id=12; b. Statement untuk pemanggilan function atau procedure: yaitu statement yang memamnggil function atau procedure yang telah didefinisikan pada program. Contoh pemanggilan procedure dan fungsi pada bahasa Pascal dan bahasa C (dengan asumsi procedure Calculate, Cetak, dan Fuction GetLength untuk contoh dibawah, telah didefinisikan terlebih dahulu): Contoh Pascal Contoh Bahasa C Calculate (a,b); B:=GetLength(student[i].Name); Cetak (a,b); Calculate (a,b); B=GetLength(student[i].Name); Cetak (a,b); c. Jump Statement : yaitu statement yang digunakan untuk melompatistatemet-statement lain. Yang termasuk dalam kategori statement ini yaitu: Fungsi Pascal Bahasa C Melompat ke statement tertentu goto Goto Keluar dari iterative statement Break Break Melompat ke iterasi selanjutnya pada iterative statement Continue Continue Keluar dari function/procedure Exit exit 2. Compound Statement Compound statement (kumpulan statement) adalah sekumpulan statement yang terdiri dari statement-statement lain, termasuk juga iteration dan selection statement. Pada bahasa pascal, kumpulan statement diawali oleh keywords Begin dan ditutup oleh keyword end, sedangkan pada bahasa C, kumpulan statement akan diawali dan diakhiri oleh tanda kurung kurawal{ dan }. Berikut adalah contoh compound statement:
  • 24. {bahasa Pascal} If i =0 then Begin {compound statement starts here} Write(‘Nilai I tidak boleh nol’); Hasil:=-1; {compound statement ends here} End; /*bahasa C*/ If (i =0) { //compound statement starts here} printf(“Nilai I tidak boleh nol”); Hasil:=-1; //compound statement ends here } Selection statement melakukan pemeriksaan nilai/kondisi, yang kemudian akan memilih statement mana yang akan dieksekusi. Statement ini terdiri dari 2 jenis yaitu If..then..else statement dan case/switch statement. 3. Iteration Statement Iteration statement digunakan untuk melakukan perulangan sekumpulan statement (compound statement). Iteration Statement Bahasa Pascal Repeat/do looop: Evaluasi kondisi dilakukan di bagian akhir Repeat (statement); …
  • 25. (statement); Until(kondisi); Contoh: I:=1; Repeat i:i+2; writeln(i); until i>=10; While do: Evaluasi kondisi dilakukan di bagian awal While(kondisi) do (statement) Contoh: Contoh: I:=1; While(i<10) do begin i:i+2; writeln(i); end; For..loop Perulangan dengan increment nilai For counter:=lower to upper do (statement) Atau For counter:=upper downto lower do (statement) Contoh:
  • 26. For i:=1 to 10 do Writeln(i); For i:= 1 to 10 do begin write(); for j:= 10 downto I do write(j); writeln; end; E. Function dan Procedure Procedure dan Function disebut juga subroutine, merupakan blok statement yang dapat dipanggil dari lokasi yang berbeda di dalam program. Yang membedakan antara function dan procedure yaitu: suatu function jika dijalankan/dipanggil akan mengembalikan suatu nilai. Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan disebut juga argument atau parameter. Ada dua cara melewatkan nilai, yaitu: 1. Passing by Value (Dilewatkan secara nilai) : jika didalam procedure atau function dilakukan perubahan nilai parameter yang dilewatkan secara nilai parameter yang dilewatkan secara nilai, maka nilai parameter yang sebenarnya tidak ikut berubah,hal ini dikarenakan parameter yang dilewatkan secara nilai akan dicopy sebagai nilai local di procedure/function yang bersangkutan : {bahasa Pascal} Uses crt; Procedure ubah(a:integer); Begin A:=10; Writeln(‘Ubah menjadi =”,a); End; {main program} Var bil: integer;
  • 27. Begin Bil:=1; Writeln(’Bil sebelum=’,bil); Ubah(bil); Writeln(’Bila sesudah=’,bil); End; Hasil eksekusi kedua program diatas adalah sama, pada layar akan tampak tulisan: Bil sebelum=1 Ubah menjadi =10 Bil sesudah=1 2. Passing by Reference : jika didalam procedure atau function dilakukan perubahan nilai parameter yang dilewatkan secara nilai reference, maka nilai parameter yang sebenarnya juga akan berubah.
  • 28. PERTEMUAN 6 ANALISA STRUKTUR PROGRAM I. Flowchart adalah metode untuk menggambarkan tahap-tahap pemecahan masalah dengan menggambarkan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan dan standar. Dalam penulisan flowchart dikenal 2 (dua) metode yaitu : A. Sistem Flowchart Adalah diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Pita Magnetik /I/O yang menggunakan pita File Upah magnetik Kartu Plong/keyboard/Input yang Masukan Tarif Upah dimasukkan secara manual dari keyboard Punched Paper Tape File Pelanggan Input / Output Baca /Merepresentasikan Input jam dan data atau Output data yang tariff upah diproses Atau Informasi. Magnetic Drum /I/O yang File menggunakan drum Pegawai magnetik Process/Mempresentasikan Hitung Upah operasi Kotor
  • 29. Off Line Storage/Penyimpanan yang tidak dapat diakses oleh komputer secara langsung Proses Sortir /tidak urut Proses Merge/ On line storage/VDU/I/O yang menggunakan File Pelanggan penyimpanan akses langsung Magnetic Disc/I/O yang menggunakan disk Update File Pegawai magnetik Arus Contoh : Keyboard CPU Disket VDU B. Program Flowchart Adalah diagram alir yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah. Dibawah ini adalah gambar simbol program flowchart :
  • 30. Proses Input Output subroutine Pengujian Pembaerian Nilai Awal Awal/ Akhir Program Konektor pada suatu halaman Konektor pada halaman lain Arah II. Pseudocode Pseudocode berasal dari kata pseudo yang berarti mirip atau menyerupai dan code yang berarti program. Pseudocode adalah teknik tulisan untuk menggambarkan algoritma menggunakan kode yang mirip dengan kode pemrograman yang sebenarnya.
  • 31. PERTEMUAN 9 ANALISA STRUKTUR PROGRAM LANJUTAN I. Struktur Program A. Struktur Berurutan (Sequence Structure) Struktur Berurutan adalah struktur program yang paling sederhana. Setiap baris program akan dikerjakan secara urut dari atas ke bawah maka hanya ada satu cara memulainya yaitu dari bagian atas, dan cara untuk keluarnya yaitu dari bagian bawah. Start Baris Program Baris Program Baris Program Selesai Contoh Program Struktur berurutan menghitung luas empat persegi panjang Program persegi panjang; Uses crt; Var luas,panjang,lebar:integer; Begin clrscr; write(‘Masukan Panjang:’); Readln(panjang); write(‘Masukan Lebar:’); Readln(Lebar);
  • 32. Luas:=Panjang * Lebar; writeln(‘luas Persegi Panjang: ‘, Luas); Readln; End. B. Struktur Seleksi(Selection Structure) Struktur seleksi untuk melakukan proses pengujian pada kondisi dalam mengambil suatu keputusan. Kondisi adalah suatu syarat yang mempunyai nilai True dan False. Contoh bentuknya adalah sebagai berikut : ................ ................ Begin Perintah 1; If Kondisi Then Perintah 2; Else Perintah 3; ................... ................... End. Ada beberapa macam struktur instruksi IF atau Sruktur Seleksi yaitu : 1. Statement/perintah IF ... THEN ( Seleksi Tunggal ) Bentuk umumnya IF <kondisi> THEN Begin ............ ............ End.
  • 33. Start Kondis Perintah 1 i Selesai Contoh Program Seleksi if then menentukan bilangan positif) Program Bilpositif; Uses crt; Var bil:integer; Begin write(‘Masukan sebuah bilangan:’); Readln(bil); if bil>0 then writeln(‘Bilangan Positif’’); Readln; End. 2. Statement/Perintah IF ... THEN ... ELSE Bentuk Umumnya IF <kondisi> THEN Begin ............ ............ End; Else Begin ............ ............
  • 34. End. Start True Kondisi Perintah 1 False Perintah 2 Selesai Contoh Program Seleksi if-then-else menentukan bilangan positif atau negatif Program Bilpositif; Uses crt; Var bil:integer; Begin write(‘Masukan sebuah bilangan:’); Readln(bil); if bil>0 then writeln(‘Bilangan Positif’’); else wiriteln(‘Bilangan Negatif’); Readln; End. 3. Statement/Perintah IF ... THEN ... ELSE IF Bentuk umumnya : IF <kondisi> Then Begin ..........
  • 35. .......... End Else If <kondisi2> Then Begin .............. .............. End; Start False Kondisi1 True False Kondisi2 Perintah 1 True False Kondisi3 Perintqh 2 True Perintah 3 Perintah 4 Selesai Contoh Program Seleksi if-then-else if menentukan nilai mahasiswa) Uses crt; Var NA:integer;Grade: Char; Begin write(‘Masukan Nilai Akhir:’); Readln(NA); if NA<=45 then Grade :=‘E’
  • 36. else if NA<=55 then Grade :=‘D’ else if NA<=70 then Grade :=‘C’ else if NA<=84 then Grade :=‘B’ else Grade := ‘A’; wiriteln(‘Nilai grade anda =‘, Grade); End. Selain menggunakan instruksi IF, Struktur Seleksi juga dapat menggunakan instruksi CASE ... OF (Seleksi Ganda). Untuk masalah tertentu instruksi Case...Of lebih memberi kejelasan dibandingkan dengan instruksi IF. Bentuk umum dari CASE ..OF Case ungkapan Of Daftar label 1 : perintah 1; Daftar label 2 : perintah 2; Daftar label 3 : perintah 3; .......................... End; End;
  • 37. Start Nilai pemilih True pada daftar Perintah 1 konst 1 False Nilai Pemilih True Pada daftar Perintah 2 konst 2 False Nilai pemilih True pada daftar Perintah 3 konst 3 True Pernyataan yang mengikuti else End Contoh Program Seleksi Case .. of menentukan Grade mahasiswa) Uses crt; Var NA:integer;Grade: Char; Begin write(‘Masukan Nilai Akhir:’); Readln(NA); 0..45 :Grade :=‘E’
  • 38. 46..55 : Grade :=‘D’ 56..70 : Grade :=‘C’ 71..84 : Grade :=‘B’ 85.100 : Grade :=‘A’ end; writeln(‘Nilai grade anda =‘, Grade); End. C. Struktur Perulangan ( Looping Structure ) Struktur perulangan akan melakukan proses berulang ulang selama selama Kondisi bernilai True atau selama kondisi perulangan terpenuhi. Dan Kondisi akan berhenti jika hanya keadaan berubah menjadi false atau kondisi perulangan tidak terpenuhi. Struktur Perulangan terdiri dari : 1. FOR .. DO Bentuk umumnya perulangan yang menaik: For {Batas Awal} To {Batas Akhir} DO Begin {Statement 1}; {Statement 2}; ------------------ ------------------ {Statement N}; End; contoh: For I;=1 to 5 do Begin writeln(‘BINA SARANA INFORMATIKA’); End. Bentuk umumnya perulangan yang menurun: For {Batas Awal} DownTo {Batas Akhir} DO Begin
  • 39. {Statement 1}; {Statement 2}; ------------------ ------------------ {Statement N}; End; contoh: For I;=5 downto 1 do Begin writeln(‘BINA SARANA INFORMATIKA’); End. 2. While .. Do Perulangan digunakan unutk melaksanakan blok statement selama kondisinya benar. Dalam perulangan ini kondisi diuji terlebih dahulu. Bentuk umum : WHILE<kondisi> Do Begin ………… ………… End; contoh: I:=1 While N<=5 do Begin Writelb(‘Bina Sarana Informatika’); I ; I+ 1; End; 3. REPEAT .. UNTIL Perulangan ini melakukan uji kondisi pada akhir perulangan. Artinya perulangan (loop) dikerjakan terlebih dahulu, kemudian baru kondisi diuji. Proses akan diulang sampai suatu kondisi yang diberikan bernilai benar.
  • 40. Bentuk umum: REPEAT …………… …………… UNTIL<kondisi>; contoh: I:=1 Repeat Writeln(‘Bina Sarana Informatika’); I ; I+ 1; Until I>5; Biasanya didalam pembuatan program, perulangan tidak hanya satu kali saja. Bahkan didalam sebuah perulangan terdapat perulangan yang lain. Perulangan yang terdapat dalam perulangan yang lain disebut perulangan tersarang atau Nested Loop. Contoh nested loop dengan For .. Do Var I,J : integer; Begin For I:= 1 to 5 do Begin For J:=1 to 5 Do Write(I:10, J:5); Writeln; end; end. II. Konsep Pemrograman Terstruktur Ide Pemrograman Terstruktur pertama kali di ungkapkan oleh Profesor Edsger Djikstra dari Universitas Eindhoven tahun 1965. Profesor Djikstra mengusulkan yaitu pernyataan
  • 41. GOTO seharusnya tidak dipergunakan di dalam pemrograman terstruktur . Pernyataan tersebut ditanggapi oleh HD. Millis bahwa pemrograman terstruktur tidak hanya dihubungkan dengan perintah GOTO tetapi oleh struktur program. Dari kesimpulan diatas maka Pemrograman Terstruktur adalah “Pemrograman terstruktur merupakan suatu tindakan untuk mengorganisasikan dan membuat kode-kode program supaya mudah untuk dimengerti, mudah ditest dan mudah dimodifikasi”. A. Ciri-ciri pemrograman terstruktur. 1. Mengandung teknik pemecahan masalah yang tepat dan benar 2. Memiliki algoritma pemecahan masalah yanag sederhana, standar da efektif. 3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami 4. Program hanya terdiri dari 3(tiga) struktur dasar, yaitu struktur berurutan, struktur seleksi dan struktur perulangan. 5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak terstruktur dengan baik. 6. Biaya pengujian yang dibutuhkan rendah. 7. Memliki dokumentasi yang baik 8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah. B. Tujuan Pemrograman Terstruktur 1. Meningkatkan kehandalan program 2. Program mudah dibaca dan ditelusuri 3. Menyederhanakan kerumitan program 4. Lebih mudah dalam pemeliharaan program 5. Meningkatkan produktivitas pemrograman C. Compiller Dan Interpreter Source program yang telah ditulis dengan bahasa pemrograman tingkat tinggi, tidak dimengerti oleh komputer karena komputer hanya mengerti bahasa mesin. Oleh sebab itu source program harus di terjemahkan ke dalam bahasa mesin terlebih dahulu sebelum dijalankan Terdapat 2(dua) jenis penterjemah yaitu :
  • 42. 1. Compiller Compiller merupakan penerjemah bahasa pemrograman yang menterjemahkan instruksi- instruksi dalam satu kesatuan modul ke dalam bahasa mesin sehingga dihasilkan suatu file executable. 2. Interpreter Interpreter merupakan penerjemah bahasa pemrograman yang menterjemahkan instruksi demi instruksi pada saat eksekusi program. III. Debugging Dan Bentuk Kesalahan program Debugging adalah penghilangan semua kesalahan yang ditemukan pada saat pengujian. Kesalahan terjadi karena kecerobohan desain logika dan pengkodean. Adapun macam-macam bentuk kesalahan program yaitu SYNTAX ERROR Bentuk kesalahan program yang disebabkan karena kesalahan didalam hal penulisan instruksi didalam program. Contoh. - Writ ( dalam bahasa PASCAL ) - Use ( dalam bahasa PASCAL ) - dan lain-lain RUN TIME ERROR Bentuk kesalahan program yang disebabkan karena adanya proses arithmathic yang ILLEGAL / tidak bisa diproses. Contoh. -B=(0/3) - Akar Minus - dan lain-lain · LOGIC ERROR Bentuk kesalahan program yang disebabkan karena HUMAN-ERROR-LOGIC (kesalahan logika program yang dibuat oleh programmer) Contoh. - Hasil / output program yang tidak sesuai - Kesalahan program yang tidak dapat dideteksi
  • 43. PERTEMUAN 10 TEKNIK PEMROGRAMAN TERSTRUKTUR I. Konsep pemrograman Terstruktur Adapun beberapa teknik Pemrograman terstruktur adalah : A. Pemrograman Modular Pemrograman Modular adalah suatu teknik pemrograman di mana program yang biasanya cukup besar dibagi-bagi menjadi beberapa bagian program yang lebih kecil Keuntungan: • Program lebih pendek • Mudah dibaca dan dimengerti • Mudah didokumentasi • Mengurangi kesalahan dan mudah mencari kesalahan • Kesalahan yang terjadi bersifat “lokal” Dalam pemrograman modular, program dipecah-pecah ke dalam modul-modul, dimana setiap modul menunjukkan fungsi dan tugas tunggal. Setiap program mempunyai sebuah modul program utama, yang mengontrol semua proses yang terjadi. Pemrograman modular diterapkan dengan menggunakan sub-routine. Sub-routine adalah sebuah kumpulan perintah yang melakukan tugas pemrosesan yang terbatas.
  • 44. Subroutine atau procedure adalah suatu blok program terpisah yang digunakan untuk mengerjakan suatu pekerjaan tertentu. Kegunaan yang umum dari subroutine adalah menghemat kode program bila terjadi proses yang sama diulang berkali-kali. Contoh: Private Sub Option1_Click(Index As Integer) Label1 = Option1(Index).Caption End Sub Program Judul_Program; Procedure Nama_Procedure; Begin ……………… ……………… End; Begin ……………… Nama_Procedure ………………. End. B. Pemrograman Top-Down Function Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Dalam bahasa pemrograman lain fungsi dapat disebut sebagai subrutin (basic,VB) atau procedure (pascal, Delphi)
  • 45. Keuntungan Top-down: penelusuran program mudah Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah. Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan Fungsi -fungsi digunakan untuk menghindari penulisan program yang sama yang ditulis secara berulang – ulang Langkah – langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah – langkah ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi tersebut. Mempermudah dokumentasi. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain Pendekatan Top-down ini sangat berguna dalam perencanaan pemrograman modular. Dalam pemrograman top-down (atas ke bawah), yang pertama harus kita definisikan adalah modul utama. Modul utama yang dimaksud adalah modul yang pertama kali dijalankan atau modul yang memanggil modul lainnya atau juga modul yang mengakhiri proses program tersebut.
  • 46. PERTEMUAN 11 TIPE FILE I. Tipe dari file A. File Master a. File Referensi Data yang tetap dimana pengolahan terhadap data tersebut memerlukan waktu yang lama. Data yang terdapat pada file referensi ini sebagai contoh adalah file Mahasiswa, yang apabila akan diperbaiki (di edit) untuk jangka waktu yang lama, misalnya jika terjadi perbaikan pada pengisian data untuk alamat (jika mahasiswa tersebut pindah alamat rumah) maka isi data pada alamat untuk mahasiswa yang bersangkutan harus diperbaiki b. File Dinamik Data yang ada dalam file berubah tergantung transaksi. Misalkan saja file mata kuliah yang didalamnya terdapat informasi tentang seluruh mata kuliah yang terdapat di suatu lembaga pendidikan. Isi dari file mata kuliah dapat di perbaiki (di edit) jika kondisi yang ada dimasa depan mengharuskan adanya pergantian mata kuliah dengan nama mata kuliah yang baru dan sks yang juga baru, maka perbaikan data untuk isi file mata kuliah mutlak dilakukan. Hal ini yang disebut dengan penyetaraan mata kuliah. B. File Input (Transaksi) Berisi data masukkan yang berupa data transaksi dimana data-data tersebut akan diolah oleh komputer. Macam file transaksi yang ada pada lembaga pendidikan adalah file ujian, file nilai dan file pembayaran kuliah. File transaksi akan senatiasa mengalami perubahan sesuai dengan periode waktu tertentu
  • 47. C. File Laporan Berisi informasi yang akan ditampilkan. File ini berisi informasi yang akan ditampilkan dalam sebuah laporan. Isi dari Laporan yang dihasilkan biasanya berasal dari penggabungan file master dan file transaksi, tetapi tidak semua isi dari file-file tersebut ditampilkan, melainkan hanya informasi tertentu saja yang ditampilkan sesuai dengan laporan yang diinginkan. E. File Backup (Pelindung) Berisi salinan data-data yang masih aktif di database pada suatu waktu tertentu. File ini berisikan salinan (Copy) dari suatu file entah file master maupun file transaksi. Adapun isi (informasi) dari file backup ini sama persis dengan file aslinya. Jika ada yang diperbaiki maka hasil perbaikan data tersebut harus dibuatkan kembali backup dari file yang diperbaiki. F. File Kerja (Temporary File) Berisi data-data hasil pemrosesan yang bersifat sementara. File ini berisi data yang sifatnya sementara (tidak permanent) dalam arti hanya numpang lewat saja, tetapi file ini dapat berfungsi untuk mempercepat dan optimalisasi dari pengolahan data. G. File Library Berisi program-program aplikasi atau utility program. File ini berisi program- program bantu yang dapat berfungsi untuk mempercepat dan optimalisasi dari pengolahan data. Misalkan dalam file gaji yang mana mempunyai keterhubungan dengan file pendidikan pegawai (untuk mencari jenjang pendidikan dari seorang karyawan), file absensi (untuk megetahui data kehadiran pegawai) dan file lembur (untuk mengetahui intensitas kelebihan jam kerja yang dimiliki oleh seorang pegawai).
  • 48. PERTEMUAN 12 ORGANISASI DAN AKSES FILE I. ORGANISASI & AKSES FILE Salah satu hal penting yang tidak dapat ditinggalkan di dalam perencanan suatu program computer adalah data-data yang diperoleh dari berbagai sumber. Mereka dapat diperoleh dari hasil pengukuran dilaboratorium, hasil survey, angket dan sebagainya. Data sederhana dapat kita himpun kedalam suatu struktur organisasi data file yang memuat informasitentang hubungan antara item yang terdapat didalamnya, dan dikenal sebagai suatu organisasi file. Tipeorganisasi data file diantaranya adalah: organisasi file sequential, organisasi file relative(random) sertaorganisasi file index sequential. Ada beberapa tipe organisasi file data yang digunakan, yaitu susunan berurutan (sequential), berurutandiindeks (indexed sequential), acak (random), dan acak diindeks ( indexed random ). Tujuan organisasi data di dalam pemrograman terstruktur adalah : 1. Untuk menyediakan sarana pencarian record bagi pengolahan, seleksi, atau penyaringan. 2. Memudahkan penciptaan atau pemeliharaan file . Organisasi file data harus mempertimbangkan beberapa hal penting, yaitu sebagai berikut : 1. Kemudahan dalam penyimpanan dan pengambilan data. 2. Kecepatan akses data/ efisiensi akses. 3. Efisiensi penggunaan media penyimpanan (storage device). Terdapat dua jenis alat penyimpanan data file yang digunakan, yaitu 1. Piransi Akses Serial ( Squential Access Storage Device atau SASD). Contoh peralatan yang termasuk jenis ini adalah magnetic tape dan pita magnetic. Ciri - ciri dari piranti ini adalah sebagai berikut : a. Proses pembacaan rekaman harus berurutan. b. Tidak ada pengamatan.
  • 49. c. Data disimpan dalam blok - blok. d. Proses write hanya bisa dilakukan sekali saja. e. Kecepatan akses datanya, sangat tergantung pada: 1. Kerapatan pita ( char/inci ). 2. Kecepatan pita ( inci/detik ). 3. Lebar celah / gap antar blok. 2. Piranti Akses Direct ( Direct Access Storage Device atau DASD). Contoh piranti akses tipe direct adalah cakram magnetic (magnetic disk) yang terdiri dari hard disk atau floppy disk. Piranti ini mempunyai ciri : a. Pembacaan rekaman tidak harus urut. b. Mempunyai alamat. c. Data dapat disimpan dalam karakter atau blok. d. Proses write dapat dilakukan beberapa kali Tiga metode susunan organisasi data file dalam media penyimpanan fisik yang lazim untuk digunakan, yaitu sebagai berikut : 1. Sequential. Metode ini mempunyai ciri - ciri sebagai berikut : a. Rekaman disimpan berdasarkan suatu kunci. b. Pencarian rekaman tertentu dilakukan record demi record sesuai kuncinya. Metode ini baik untuk digunakan apabila pengolahan terhadap basis data bersifat periodik dan menyeluruh. 2. Random. Dalam metode ini kunci rekaman ditransformasikan ke alamat penyimpanan dalam media fisik secara acak (random). Metode ini akan menimbulkan beberapa masalah, yaitu adanya alamat yang muncul lebih dari satu kali, dan ada alamat yang tidak pernah muncul sama sekali. Permasalahan seperti ini diatasi dengan teknik overflow location, yaitu dengan menggunakan alamat yang ada disampingnya. 3. Indexed Sequential. Metode ini mempunyai ciri - ciri sebagai berikut :
  • 50. a. Merupakan gabungan antara metode sequential dan random. b. Record disimpan secara berurutan dengan menggunakan kunci. c. Masing - masing record diberi indeks. d. Pengalamatan dilakukan secara acak. e. Perlu penyimpanan tambahan, yaitu untuk file indeks.
  • 51. PERTEMUAN 13 APLIKASI PEMROGRAMAN BUSSINES I. TEKNIK PERANCANGAN PROGRAM ORIENTASI BUSSINES Didalam proses pembangunan/pengembangan system informasi(Bangsis), dukungan teknis dari perancangan program yang terstruktur akan sangat mempengaruhi nilai serta kualitas dari system informasi tersebut. Oleh karena itu, semakin terstruktur dan sistematis program yang dibuat, maka semakin akurat dan berkualitas informasi yang disajikan oleh system yang dibangun. Berikut ini akan dijelaskan beberapa teknik perancangan program didalam pemrograman terstruktur untuk mendukung proses pembangunan / pengembangan sistem informasi (BANGSISFO) Teknik perancangan file atau database dalam bentuk spesifikasi file Teknik perancangan program dalam bentuk spesifikasi program I. Langkah-langkah didalam merancang file Adapun mengenai langkah-langkah didalam perancangan file tersebut adalah sebagai berikut : 1. Menentukan banyaknya jumlah kebutuhan file yang nanti akan digunakan didalam program 2. Menentukan Parameter dari file yang akan dibuat. Parameter File meliputi hal-hal sebagai berikut : a. Menentukan NAMA-FILE Contoh : File-Induk-Mahasiswa b. Menentukan AKRONIM-FILE
  • 52. Contoh : Siswa.Dbf c. Menentukan KODE-FILE Contoh : Mhs01 d. Menentukan TYPE-FILE (file induk,file transaksi dll) Contoh : File-Induk e. Menentukan Panjang Record (RECORD-SIZE) Contoh : 140 Character f. Menentukan ORGANISASI-FILE Contoh : Index-Sequential g. Menentukan ACCESS-FILE Contoh : Sequential h. Menentukan MEDIA-FILE Contoh : Harddisk i. Menentukan FIELD-KEY Contoh : Nomor induk siswa (NIS) j. Menentukan SOFTWARE yang digunakan Contoh : Fox-base II. Langkah-langkah didalam merancang PROGRAM
  • 53. Adapun mengenai langkah-langkah didalam perancangan program adalah sebagai berikut : 1. Menentukan banyaknya jumlah kebutuhan program yang nanti akan dibuat. 2. Menentukan Parameter dari Program yang akan dibuat. Parameter Program meliputi hal-hal sebagai berikut : a. Menentukan NAMA-PROGRAM Contoh : Program Menu Utama b. Menentukan AKRONIM-PROGRAM Contoh : Menu.Prg c. Menentukan KODE-PROGRAM Contoh : PMU01 d. Menentukan FUNGSI-PROGRAM Contoh : Untuk menampilkan pilihan menu utama di dalam proses Program e. Menentukan PAKET-PROGRAMMING LANGUAGE Contoh : Visual Basic, Visual Foxpro f. Menentukan bentuk SISTEM FLOWCHART / PROGRA FLOWCHART g. Mentukan bentuk PROSES-PROGRAM secara rinci dan detail
  • 54. PERTEMUAN 14 OOP (Object Oriented Programming) I. Pengertian Pemrograman berorientasi objek merupakan metode yang relatif baru untuk melakukan perancangan atau rekayasa perangkat lunak. Tujuan metode ini adalah untuk meningkatkan produktivitas pemrogram dengan meningkatkan extensibiltas dan penggunaan kembali perangkat lunak serta untuk mengontrol biaya dan kompleksitas perawatan perangkat lunak. Secara singkat tujuan utama dari pengembangan perangkat lunak atau program berorientasi objek, dapat dijelaskan sbb: Mempersingkat waktu dan menurunkan biaya pengembangan rekayasa perangkat lunak. Menurunkan biaya perawatan perangkat lunak. Pemrograman berorientasi objek memberikan landasan yang sangat berguna untuk pembuatan prototype sistem secara cepat. II. Metode dan Objek Metode merupakan suatu procedure atau fungsi yang disatukan dalam suatu objek serta dapat mengakses field-field data yang menjadi bagian dari objek tersebut. Didalam sebuah objek, metode didefinisikan dengan sesuatu header fungsi atau procedure yang bertindak sebagai metode. Semua field data harus didefinisikan sebelum deklarasi metode pertama. Diluar objek, sebuah metode didefinisikan secara penuh, yaitu statemen-statemen apa aja yang akan dikerjakan oleh metode tersebut. Nama metode harus diletakan nama objek yang memiliki metode tersebut.
  • 55. Didalam pemrograman berorientasi objek, sebuah objek seperti halnya sebuah rekord yang terdiri dari beberapa field data dengan diperluas adanya fungsi atau prosedur. Prinsip pemrograman berorientasi obyek adalah sedapat mungkin field-field dalam suatu obyek ditinggalkan menyediri sebanyak mungkin, jangan sampai field data- field data tersebut dapat diakses secara langsung. Jadi bagaimana cara mengakses field data-field data tersebut? Jawabannya adalah sedapat mungkin menggunakan metode obyek(yaitu prosedur atau fungsi yang didefinisikan didalam obyek) obyek yang bersangkutan. Paradigma Objek • Paradigma adalah suatu cara pandang atau cara berpikir • Paradigma objek adalah cara pandang yang memandang SEGALA SESUATU sebagai OBJEK • Berbagai benda di sekitar kita adalah objek nyata yang dapat dilihat, seperti : kucing, meja, rumah, orang , dll • Data Member atau variabel Setiap objek yang dinamakan ‘orang’ pasti memiliki : nama, tinggi badan, berat badan, warna rambut, warna kulit, jenis kelamin, menggunakan kacamata, dll Ciri-ciri tersebut dapat dipindahkan menjadi variabel-variabel dari class yang sering disebut sebagai : data member • Objek dalam pemrograman adalah objek yang dibuat dari class tertentu.
  • 56. Method Selain memiliki atribut(STATE) yang diimplementasikan sebagai data member di atas, manusia juga dapat melakukan suatu aksi atau pekerjaan tertentu (BEHAVIOR) Contoh aksi/behavior yang umum adalah menangis dan tertawa Kedua behavior tsb bisa dipindahkan ke dalam bahasa pemrograman menjadi method sbb : Ada 3(tiga) karakteristik utama bahasa pemrograman berorientasi objek yaitu : a. Enkapsulasi ( pengkapsulan ) Enkapsulasi merupakan gabungan beberapa type data (record) dengan prosedur dan fungsi yang membentuk suatu type data baru yang tepat. Hakikat dari enkapsulasi ini adalah memadukan langkah program dengan data yang ada didalamnya. Dengan enkapsulasi anda dapat menyembunyikan didalam objek, baik data maupun fungsi / prosedur. Hanya dengan interface objek maka kita dapat mengakses datanya. NB: pengemasan data dan prosedur dalam objek. Ditujukan untuk melakukan penyembunyian informasi (information hidding). b. Inheritance ( penurunan sifat ) Penurunan sifat memungkinkan kita untuk membuat sebuah objek baru yang sama dengan objek sebelumnya yang telah didefinisikan. Karakteristik dari suatu objek diturunkan ke objek yang lain sehingga objek yang baru akan memiliki karakteristik yang sama dengan induknya. Penurunan ini diawali dengan mendefinisikan objek induk, sehingga dengan menggunakan objek induk tersebut, dapat membuat objek yang bertumpu pada objek induknya. Sehingga akan terbentuk objek keturunan. Dimana setiap objek turunannya dapat mengakses semua data dan program yang dimiliki oleh objek induknya.
  • 57. NB: Memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Pemrograman berorientasi objek merupakan suatu teknik atau cara berfikir untuk merancang aplikasi yang dapat membantu memecahkan persoalan mengenai pengembangan perangkat lunak. Teknik atau metode pemrograman berorientasi objek didasari oleh class dan objek. Jika diibaratkan class adalah sebuah cetakan sedangkan objek adalah hasil dari cetaan tersebut. Class digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek. Class merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang mengoperasikan kumpulan data tersebut. Pengkapsulan adalah mengkombinasian suatu struktur dengan fungsi yang memanipulasinya untuk membentuk tipe data baru. Suatu class dapat diciptakan berdasarkan class lain. Class baru ini mempunyai sifat-sifat yang sama dengan class pembentunya, ditambah sifat-sifat khusus lainnya, inilah yang disebut konsep pewarisan. Dengan pewarisan kita dapat menciptakan class baru yang mempunyai sifat sama dengan class induknya tanpa menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse). Sifat pewarisan ini menyebabkan class-class dalam pemrograman berorientasi objek membentuk hirarki class mulai dari class dasar, class turunan pertama, class turunan kedua dan seterusnya. Sebagai gambaran misalnya ada hiararki class unggas.
  • 58. Sebagai class dasar adalah Unggas. Salah satu sifat Unggas adalah bertelur dan bersayap. Class turunan pertama adalah Ayam, Burung dan Bebek. Tiga class turunan ini mewarisi sifat class dasar Unggas yaitu bertelur dan bersayap. Selain mewarisi sifat class dasar , masing-masing class turunan mempunyai sifat khusus, seperti Ayam berkokok, Burung terbang dan Bebek berenang. Class Ayam punya class turunan yaitu Ayam Kampung dan Ayam Hutan. Dua class ini mewarisi sifat class Ayam yang berkokok. Tetapi dua class juga punya sifat yang berbeda, yaitu : Ayam Kampung berkokok panjang halus sedangkan Ayam Hutan berkokok pendek dan kasar. Superclass, class yang letaknya di atas class tertentu di dalam hierarki. Subclass, class yang letaknya di bawah class tertentu di dalam hierarki. Contoh Program Inheritance Kali ini kita akan membuat sebuah program simple yang menggambarkan konsep inheritance. Didalam program yang akan dibuat terdapat sebuah base class (class induk) bernama ORANG_TUA dan dua class turunannya (ANAK_PRIA dan ANAK_WANITA). Langkah-langkahnya adalah sebagai berikut : 1. Desain proyek baru dan pada form tambahkan objek listbox dan button. 2. Tambahkan class baru dengan nama ORANG_TUA dan ketikkan kode2 program berikut :
  • 59. Public Class ORANG_TUA‘variabel untuk menampung nama bapak Private XBapak As String ‘variabel untuk menampung nama ibu Private XIbu As String ‘property (atribut/informasi) class Public Property Nama_Bapak() As String ‘Get : hanya ijinkan akses data Get Return XBapak End Get ‘Set : mengijinkan ubah data Set(ByVal value As String) XBapak = value End Set End Property ‘property (atribut/informasi) class Public Property Nama_Ibu() As String Get
  • 60. Return XIbu End Get Set(ByVal value As String) XIbu = value End Set End Property End Class 3. Tambahkan class baru dengan nama ANAK_WANITA dan ketikan kode2 berikut : Public Class ANAK_WANITA‘membuat turunan dari base class Inherits ORANG_TUA Private XWanita As String Private XUsia_W As String Public Property Nama_Wanita() As String Get Return XWanita End Get
  • 61. Set(ByVal value As String) XWanita = value End Set End Property Public Property Usia_Wanita() As Byte Get Return XUsia_W End Get Set(ByVal value As Byte) XUsia_W = value End Set End Property End Class 4. Tambahkan class baru dan beri nama ANAK_PRIA dan tambahkan kode2 program berikut : Public Class ANAK_PRIA‘membuat turunan dari base class Inherits ORANG_TUA Private XPria As String
  • 62. Private XUsia_P As String Public Property Nama_Pria() As String Get Return XPria End Get Set(ByVal value As String) XPria = value End Set End Property Public Property Usia_Pria() As Byte Get Return XUsia_P End Get Set(ByVal value As Byte) XUsia_P = value End Set End Property End Class 5. Sekarang : buat event click pada objek button1 dan ketikkan kode2 berikut :
  • 63. Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim obj_Wanita As New ANAK_WANITA Dim obj_Pria As New ANAK_PRIA With obj_Wanita .Nama_Bapak = “Subandrio” .Nama_Ibu = “Titi Rukmiati” .Nama_Wanita = “Nina Ramadani” .Usia_Wanita = 10 End With With obj_Pria .nama_pria = “Kevin Maulana” .Usia_pria = 6 End With With ListBox1 .Items.Add(“nama ayah : ” & _ obj_Wanita.Nama_Bapak)
  • 64. .Items.Add(“nama ibu :”&_ obj_Wanita.Nama_Ibu) .Items.Add(“anak wanita : ” & _ obj_Wanita.Nama_Wanita) .Items.Add(“usia :”&_ obj_Wanita.Usia_Wanita) .Items.Add(“anak pria : ” & _ obj_Pria.Nama_Pria) .Items.Add(“usia :”&_ obj_Pria.Usia_Pria) End With End Sub End Class c. Polimorphism ( keaneka ragaman ) Dengan polimorphism kita dapat membuat sebuah objek baru yang menunjukkan fungsi-fungsi yang sama dengan objek induknya, namun fungsi fungsi yang sama tersebut memiliki operasi yang berbeda-beda. objek yang masih didalam suatu hierarki dapat menyusun objek yang lainnya, sesuai dengan kebutuhan dari objek tersebut, yang artinya pemrograman berorientasi objek ini menyangkup keaneka ragaman objek yang menjamin terhimpunnya perpaduan keaneka ragaman data dengan prosedur atau fungsi.
  • 65. NB: konsep yang menyatakan sesuatu nama yang sama dapat memiliki berbagai bentuk perilaku yang berbeda. Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan Pada contoh sebelumnya, kita diberikan parent class yaitu Person dan subclassnya adalah Student, sekarang kita tambahkan subclass lainnya dari Person yaitu Employee Contoh polimorpism : saya melatih anjing saya dengan perintah untuk menggonggong dan juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan untuk merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu bahwa anjing dan burung akan merespon dengan gonggongan atau kicauan.