Senin, 12 September 2016

Algoritma

Pengertian Algoritma

Algoritma adalah  urutan langkah untuk menyelesaikan masalah secara sistematis dan logis. Algoritma menawarkan suatu metode dalam menyelesaikan sebuah permasalahan. Algoritma diartikan sebagai urutan langkah dalam menyelesaikan masalah secara sistematis dan logis. Pendekatan secara sistematis dan logis tersebut, menjadikan proses penyelesaian masalah terjaga kebenarannya karena algoritma hendaklah benar agar dapat menghasilkan keluaran/solusi yang benar pula.


Struktur dasar Algoritma

Algoritma memiliki 3 struktur dasar.
  • Runtunan (Sequence)
  • Pemilihan (Selection)
  • Pengulangan (Looping)
Runtunan
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir algoritma. Bila urutannya diubah, maka hasil akhir mungkin juga berubah.

Pemilihan
Struktur pemilihan menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi atau pengambilan suatu keputusan. Struktur ini ditandai selalu dengan bentuk flowcart decision

Pengulangan
Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali. Dengan kata lain, pengulangan memungkinkan pengerjaan beberapa kali perintah tetapi penulisan perintah tersebut hanya satu kali.



Variabel, Tipe Data, dan Operator



Variabel

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu
nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu
tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh
nilai dari suatu variable digunakan pernyataan penugasan (assignment statement).
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai
berikut :


  •  Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap
    berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
  •  Tidak boleh mengandung spasi,
  •  Tidak boleh mengandung simbol - simbol khusus, kecuali simbol " _ " .
  •  Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.


Tipe Data

Tipe Data adalah jenis nilai yang dapat ditampung oleh suatu variabel.
Jenis - jenis tipe data :
 
   Tipe Data Primitive ( Sederhana )

Tipe data primitive adalah Tipe data yang mampu menyimpan satu nilai tiap satu variabel. Tipe data primitive merupakan tipe data dasar yang sering dipakai oleh program. Contoh tipe data primitive  adalah tipe numerik (integer dan real), tipe data karakter/char, tipe data boolea
n.
        A. Numeric

         Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk angka. Tipe data ini terbagi atas integer, dan real
  • Integer
    Integer Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti table dibawah ini


     
 Real
Real adalah bilangan yang berisi titik desimal atau jenis bilangan pecahan.



B.  
Karakter (char)
Karakter merupakan tipe data yang hanya mampu menyimpan 1 digit karakter.  Ukuran untuk tipe data karakter adalah 1 byte (1 byte = 8 bit). Adapun macam karakter yang ada sejumlah 256 macam karakter yaitu dari kode karakter (ASCII), 0 sampai dengan 255. Untuk penulisan karakter menggunakan tanda petik tunggal (‘ )  di depan dan belakang karakter yang ditulis. Contoh : ‘a’, ‘A’,’&’ dll.

Nilai-nilai yang termasuk karakter adalah :
a.      Karakter huruf : ‘a’..’z’,’A’..’Z’
b.      Karakter angka : ‘0’..’9’
c.       Karakter tanda baca : titik, koma, titik koma, titik dua dan sebagainya
d.      Karakter khusus : $, %, #, @ dan sebagainya.
C.   Boolean
Boolean merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Tipe data boolean memakai memori paling kecil.

  Tipe Data Composite


Tipe Data Komposit merupakan tipe data yang dapat menampung banyak nilai, antara lain sebagai berikut.
A.   Array
Array atau sering disebut sebagai larik, adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Sebagai ilustrasi, array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut.

B.   Record atau struct
Seperti halnya Array, Record atau Struct juga termasuk tipe data komposit. Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++. Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda-beda (heterogen). Misalnya, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string, dan tanggal lahir bertipe data date. Berikut ini contoh pengunaan record dalam Delphi.

C.   Image
Image, atau gambar, atau citra, merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan, dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual, tipe data ini telah didukung dengan sangat baik.

D.   Date Time

Nilai data untuk tanggal (date) dan waktu (time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan, baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite, karena merupakan bentukan dari beberapa tipe data.

E.   Object
Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi, dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh, apabila mempunyai form yang memiliki control Command button, yang kita beri nama Command1.

F.    Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya, tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.

G.   Enumerasi
Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu, dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi, dan bahasa pemrograman deklaratif seperti SQL.

Pada contoh di atas, tipe data Hari_dlm_Minggu termasuk enumerasi dengan rentang nilai Nol, dimana Senin sampai dengan Minggu dan nilai data dari 0, 1, sampai dengan 7. Sedangkan tipe data Nama_Bulan termasuk enumerasi dengan rentang nilai Nol, Januari sampai dengan Desember dan nilai data dari 0, 1, sampai dengan 12.



Operator

Operator adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai data (operand).
Ada beberapa jenis operator, yaitu :
  1. Assignment Operator
    Assignment Operator adalah operator yang menggunakan tanda sama dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.


  2. Arithmetic Operator
    Arithmetic Operator  adalah operator yang digunakan untuk melaksanakan operasi aritmatika.
    Beberapa operator aritmatika antara lain:
    * : untuk perkalian
    + : untuk penjumlahan
    - : untuk pengurangan
    / : untuk pembagian
    % : untuk sisa pembagian (modulus)






  3. Logical Operator
    Operator Boolean atau Operator Logika adalah operator yang digunakan untuk melakukan operasi logika yaitu operator yang menghasilkan nilai TRUE (benar) atau FALSE (salah).
    Bebarapa macam operator logika antara lain:
    1. and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
    2. or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
    3. xor : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan keduaduanya
    bernilai TRUE
    4. ! : mengasilkan nilai tidak TRUE
    5. && : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
    6. || : menghasilkan nilai TRUE jika salah satu operand bernailai TRUE




  4. Comparison Operator
    Operator Pembanding adalah operator yang digunakan untuk membandingkan dua buah nilai atau operand.
    Operator perbandingan ini antara lain :
    <  : untuk kurang dari
    > : untuk lebih dari
    <= : untuk kurang dari atau sama dengan
    >= : untuk lebiih dari atau sama dengan
    == : untuk sama dengan
    != : untuk tidak sama dengan
    <> : untuk tidak sama dengan


Flowchart
Flowchart ( diagram alir ) adalah metode untuk menggambarkan tahap-tahap penyelesaian masalah, beserta aliran data dengan simbol-simbol standar yang mudah dipahami. Dalam kehidupan sehari-hari, flowchart banyak digunakan di pusat-pusat layanan seperti kantor pemerintahan, bank, rumah sakit, organisasi masyarakat, dan perusahaan.

Tujuan penggunaan flowchart adalah untuk menyederhanakan rangkaian proses atau prosedur untuk memudahkan pemahaman pengguna terhadap informasi tersebut. Oleh karena itu, design sebuah flowchart harus ringkas, jelas, dan logis.

Symbol-symbol Flowchart :



Algoritma Percabangan


Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan. Algoritma percabangan pada pemrograman umumnya menggunakan kata kunci IF (jika), THEN (maka), dan ELSE (selainnya). Berikut kelompok saya akan mejelaskan tentang algoritma percabangan 1 kondisi dan 2 kondisi beserta contoh kasusnya.Berikut, contoh penjelasan algoritma percabangan 1 & 2 Kondisi.
  • 1 Kondisi
    Algoritma percabangan dengan 1 kondisi memiliki format dasar seperti berikut :
                IF <kondisi>
                THEN <pernyataan>
    Pada format diatas , jika <kondisi> bernilai benar maka <pernyataan> dikerjakan, sedangkan jika bernilai salah, maka <pernyataan> tidak dikerjakan dan proses langsung keluar dari percabangan.
    Contoh Kasus : Nilai siswa akan gagal bila bernilai ≤ 60

    Pseudocode:
    Var :
                nilai_siswa : integer
    Pseudocode :
    Read ( nilai siswa )
    IF nilai siswa ≤ 60 THEN
     write ( Siswa dinyatakan gagal )

    Flowchart



  • 2 Kondisi
    Algoritma percabangan dengan 2 kondisi memiliki format dasar seperti berikut :
                IF <kondisi>
                THEN <pernyataan 1>
                ELSE <pernyataan 2>
    Pada format di atas, Jika <kondisi> bernilai benar maka pernyataan 1 dikerjakan. Sedangkan jika tidak (<kondisi>bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan 2. Berbeda dengan percabangan 1 kondisi, pada percabangan dua kondisi ada dua pernyataan untuk kedua kondisi,yaitu untuk <kondisi> yang bernilai benar dan <kondisi> yang bernilai salah.
    Contoh Kasus : Penggolongan nilai

    Pseudocode :
    Var :
                nilai_siswa : integer
    Pseudocode
    read (nilai siswa )
    IF nilai siswa > 75 THEN
    write ( tergolong baik )
    ELSE
    write ( tergolong cukup )

    Flowchart : 








Tugas

1. 

Tidak ada komentar:

Posting Komentar