Pernyataan if…else


Pernyataan if…else digunakan untuk menguji sebuah kondisi. Bila kondisi yang diuji terpenuhi, program akan menjalankan pernyataan-pernyataan tertentu, dan bila kondisi yang diuji salah, program akan menjalankan pernyataan-pernyataan lain. Berikut bentuk umum pernyataan if…else :

if kondisi then
begin
   {pernyataan yang dijalankan jika kondisi terpenuhi}
end
else
begin
    {penyataan yang dijalankan jika kondisi tidak terpenuhi}
end
 

Kondisi sering merupakan suatu ekspresi bertipe boolean, artinya hanya dapat bernilai benar (true) dan salah (false).

contoh:
if (x>0) then
   writeln(‘x  bilangan positif’)
else
   writeln(‘x bilangan negatif’)
 

program ini akan menuliskan ‘x bilangan positif’ jika variabel x lebih besar dari o (nol) dan menuliskan ‘x bilangan negatif’ jika variabel x lebih kecil dari 0.

Advertisements

Belajar pemrograman dasar


Sebelum memulai belajar pemrograman, terlebih dahulu harus menguasai konsep algoritma. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma dan harus dapat ditentukan bernilai benar atau salah.

Beberapa persyaratan algoritma yang baik:

  1. tingkat kepercayaan tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar
  2. pemrosesan yang efisien. proses diselesaikan secepat mungkin dan frekuensi kalkulasi sependek mungkin.
  3. bersifat general, bisa menyelesaikan beberapa kasus tidak hanya satu
  4. bisa dikembangkan (expandable)
  5. mudah dimengerti
  6. portabilitas tinggi, bisa diimplementasikan ke berbagai platform komputer
  7. precise (tepat, betul, teliti). setiap intruksi yang ditulis harus jelas dan pasti
  8. efektif
  9. terminate, jalannya algoritma harus ada kriteria berhenti
  10. output yang dihasilkan tepat

Buat rekan-rekan semua yang ingin belajar pemrograman, alangkah baiknya mengetahui beberapa bagian dari programming itu sendiri. Konsep pemrograman dibagi menjadi:

  1. pemrograman/programming : pekerjaan penulisan intruksi bagi komputer untuk menyelesaikan suatu masalah
  2. program : himpunan intruksi yang diperuntukkan bagi komputer, untuk menyelesaikan masalah yang diberikan
  3. interpreter : menerjemahkan perintah baris demi baris dan langsung melaksanakannya. Contoh : Basic
  4. compiler : menerjemahkan dulu seluruh perintah dalam bahasa mesin, baru kemudian terjemahan tersebut dijalankan oleh komputer. Contoh : Fortran, C, Pascal

Nah, itulah konsep dasar pemrograman yang harus diketahui sebelum melangkah untuk belajar bahasa pemrograman.  Pada postingan kali ini saya akan mencoba untuk memaparkan tutorial belajar bahasa pemrograman dasar dengan menggunakan bahasa pemrograman Turbo Pascal 7.0.  Bahasa pemrograman ini termasuk “High Level Language” yaitu intruksi yang digunakan sangat sistematis dan terstruktur.

Struktur dan Komponen Dasar Program Pascal

Struktur dari program pascal terdiri dari sebuah judul program dan suatu blok program. Blok program dibagi 2 yaitu bagian deklarasi dan bagian statement. Secara coding dapat dituliskan struktur program sebagai berikut:

PROGRAM nama_program;
     LABEL nama_label;
    CONST ………;
   TYPE ……..;
        VAR …….;
BEGIN
       {statement}
END.
 

Beberapa aturan dalam program pascal

  • akhir sebuah program ditandai dengan tanda titik (.) setelah END yang paling akhir
  • tanda titik koma (;) merupakan pemisah antar intruksi satu dengan yang lainnya
  • beberapa statement boleh ditulis menjadi satu baris yang dipisahkan dengan tanda titik koma (;)
  • baris komentar diletakkan diantara tanda bintang (*statement*) atau tanda {statement}

 

Contoh program sederhana dengan menggunakan pascal

PROGRAM contoh;
uses crt;
BEGIN
    writeln(‘Belajar Pascal’);
END.
 
TIPE DATA
Penentuan tipe data berguna untuk memberi pengenal pada isi data yang diakses oleh variabel. Beberapa tipe data yang sering digunakan pada Program Pascal yaitu:
  1. Integer : digunakan untuk bilangan yang tidak mempunyai angka desimal
  2. Real : digunakan untuk bilangan yang mempunyai angka desimal
  3. Boolean : digunakan untuk menyatakan data logika, True or False
  4. Character : digunakan untuk menyatakan karakter 1 huruf
  5. String : digunakan untuk menyatakan sederetan karakter yang membentuk satu kesatuan
  6. Record : digunakan untuk menyimpan sekumpulan data yang mungkin tipenya berbeda tapi saling berhubungan

Struktur sistem operasi


Pada kenyataan tidak semua sistem operasi mempunyai struktur yang sama. Menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem operasi mempunyai komponen sebagai berikut:

  1. managemen proses
  2. managemen memori utama
  3. managemen secondary storage
  4. managemen sistem I/O
  5. managemen berkas
  6. sistem proteksi
  7. jaringan
  8. command interpreter system
 
Managemen Proses
Proses adalah keadaan ketika sebuah program sedang dieksekusi. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
  • pembuatan dan penghapusan proses pengguna dari sistem proses
  • menunda atau melanjutkan proses
  • menyediakan mekanisme untuk sinkronisasi
  • menyediakan mekanisme untuk proses komunikasi
  • menyediakan mekanisme untuk penanganan deadlock
Managemen memori utama
Memory utama dikenal sebagai array yang besar yang terdiri dari byte atau word yang ukurannya mencapai ratusan, ribuan bahkan jutaan. Memori utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O.  Termasuk tempat penyimpanan data sementara (volatile) artinya data dapat hilang bila sistem dimatikan. Aktivitas yang berkaitan dengan managemen memori yaitu:
  • menjaga track dari memori yang sedang digunakan dan siapa yang menggunakan
  • memilih program yang akan diload ke memori
  • mengalokasikan dan meng-delokasikan ruang memori sesuai kebutuhan
Managemen secondary storage
Data yang disimpan ke memori utama bersifat sementara dan ukurannya kecil, oleh karena itu diperlukan secondary storage yang bersifat permanen dan mampu menampung banyak data. Contohnya Harddisk, disket dll. Aktivitas yang berkaitan dengan disk management adalah free space management, alokasi penyimpanan, penjadwalan disk.
Managemen sistem I/O
Sering disebut device manager, menyediakan “device driver” yang umum sehingga operasi I/O dapat seragam (membuka, menutup, membaca dan menulis).  Komponen untuk sistem I/O adalah:
  • Buffer : menampung data sementara dari/ke perangkat I/O
  • Spolling : melakukan penjadwalan I/O, sistem supaya efisien
  • menyediakan driver untuk dapat melakukan operasi secara rinci untuk perangkat I/O tertentu
Managemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas. Berkas mempunyai struktur hierarki (direktori, volumes, dll). Aktivitas yang berkaitan diantaranya:
  • pembuatan dan penghapusan berkas
  • pembuatan dan penghapusan direktori
  • mendukung manipulasi berkas dan direktori
  • memetakan berkas ke secondary storage
  • mem-backup berkas ke media penyimpanan yang permanen
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosessor atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
  • membedakan antara pengguna yang sudah diberi izin dan yang belum
  • specify the control to be imposed
  • provide a means of enforcement
Jaringan
Sistem terdistribusi adalah sekumpulan prosessor yang tidak berbagi memory atau clock. Tiap prosessor memiliki memori sendiri. Prosessor tersebut terhubung melalui jaringan komunikasi sistem terdistribusi menyediakan akses pengguna ke bermacam sumber daya sistem. Akses tersebut menyebabkan:
  • computation speed-up
  • increased data availability
  • enchanced realibility
Command Interpreter-sistem
Sistem operasi menunggu aksi dari pengguna (command driven). Program yang membaca intruksi dan mengartikan control statement umumnya disebut control card interpreter, command line interpreter, UNIX shell. Command interpreter system sangat bervariasi dari satu sistem operasi ke sistem operasi lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada. Contohnya : CLI, Windows, Pen-based (touch) dll.

Keamanan sistem


Pokok masalah keamanan sistem salah satunya disebabkan karena sistem time sharing dan akses jarak jauh, apalagi dengan meningkatnya perkembangan jaringan komputer.

Keamanan sistem komputer adalah untuk menjamin sumber daya sistem tidak digunakan / dimodifikasi,   diinterupsi dan diganggu oleh orang yang tidak diotorisasi. Pengamanan termasuk  masalah teknis, manajerial, legalitas dan politis.

3 macam keamanan sistem, yaitu :
1.    Keamanan eksternal / external security
Berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana seperti kebakaran / kebanjiran.
2.    Keamanan interface pemakai / user interface security
Berkaitan dengan indentifikasi pemakai sebelum pemakai diijinkan mengakses program dan data yang disimpan
3.    Keamanan internal / internal security
Berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan sistem operasi yang menjamin operasi yang handal dan tak terkorupsi untuk menjaga integritas program dan data.

2 masalah penting keamanan, yaitu :
1.    Kehilangan data / data loss
Yang disebabkan karena :
•    Bencana, contohnya kebakaran, banjir, gempa bumi, perang, kerusuhan, tikus, dll.
•    Kesalahan perangkat keras dan perangkat lunak, contohnya ketidak berfungsinya pemroses, disk / tape yang tidak terbaca, kesalahan komunikasi, kesalahan program / bugs.
•    Kesalahan / kelalaian manusia, contohnya kesalahan pemasukkan data, memasang tape / disk yang salah, kehilangan disk / tape.
2.    Penyusup / intruder
•    Penyusup pasif, yaitu yang membaca data yang tidak terotorisasi
•    Penyusup aktif, yaitu mengubah data yang tidak terotorisasi.
Contohnya penyadapan oleh orang dalam, usaha hacker dalam mencari uang, spionase militer / bisnis, lirikan pada saat pengetikan password.

Sasaran keamanan adalah menghindari, mencegah dan mengatasi ancaman terhadap sistem.

3 aspek kebutuhan keamanan sistem komputer, yaitu :
1.    Kerahasiaan / secrecy, diantaranya privasi
Keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh pihak-pihak yang terotorisasi dan modifikasi tetap menjaga konsistensi dan keutuhan data di sistem
2.    Integritas / integrity
Keterjaminan bahwa sumber daya sistem komputer hanya dapat dimodifikasi oleh pihak-pihak yang terotorisasi
3.    Ketersediaan / availability
Keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang diotorisasi saat diperlukan

Pokok masalah keamanan sistem salah satunya disebabkan karena sistem time sharing dan akses jarak jauh, apalagi dengan meningkatnya perkembangan jaringan komputer.

Tipe ancaman terhadap keamanan sistem komputer dapat dimodelkan dengan memandang fungsi sistem komputeer sebagai penyedia informasi.

Berdasarkan fungsi ini, ancaman terhadap sistem komputer dikategorikan menjadi 4 ancaman, yaitu :
1.    Interupsi / interuption
Sumber daya sistem komputer dihancurkan / menjadi tak tersedia  / tak berguna. Merupakan ancaman terhadap ketersediaan. Contohnya penghancuran harddisk, pemotongan kabel komunikasi.
2.    Intersepsi / interception
Pihak tak diotorisasi dapat mengakses sumber daya. Merupakan ancaman terhadap kerahasiaan. Pihak tak diotorissasi dapat berupa orang / program komputeer. Contohnya penyadapan, mengcopy file tanpa diotorisasi
3.    Modifikasi / modification
Pihak tak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya. Merupakan ancaman terhadap integritas. Contohnya mengubah nilai file, mengubah program, memodifikasi pesan
4.    Fabrikasi / fabrication
Pihak tak diotorisasi menyisipkan / memasukkan objek-objek palsu ke sistem. Merupakan ancaman terhadap integritas. Contohnya memasukkan pesan palsu ke jaringan, menambah record file.

Petunjuk prinsip-prinsip pengamanan sistem komputer, yaitu :
1.    Rancangan sistem seharusnya publik
Tidak tergantung pada kerahasiaan rancangan mekanisme pengamanan. Membuat proteksi yang bagus dengan mengasumsikan penyusup mengetahui cara kerja sistem pengamanan.
2.    Dapat diterima
Mekanisme harus mudah diterima, sehingga dapat digunakan secara benar dan mekanisme proteksi tidak mengganggu kerja pemakai dan pemenuhan kebutuhan otorisasi pengaksesan.
3.    Pemeriksaan otoritas saat itu
Banyak sisten memeriksa ijin ketika file dibuka dan setelah itu (opersi lainnya) tidak diperiksa.
4.    Kewenangan serendah mungkin
Program / pemakai sistem harusnya beroperasi dengan kumpulan wewenang serendah mungkin yang diperlukan untuk menyelesaikan tugasnya.
5.    Mekanisme yang ekonomis
Mekanisme proteksi seharusnya sekecil dan sesederhana mungkin dan seragam sehingga mudah untuk verifikasi.

 Otentifikasi pemakai / user authentification adalah identifikasi pemakai ketika login.

3 cara otentifikasi :
1.    Sesuatu yang diketahui pemakai, misalnya password, kombinasi kunci, nama kecil ibu mertua, dll
Untuk password, pemakai memilih suatu kata kode, mengingatnya dan menggetikkannya saat akan mengakses sistem komputer, saat diketikkan tidak akan terlihat dilaya kecuali misalnya tanda *. Tetapi banyak kelemahan dan mudah ditembus karena pemakai cenderung memilih password yang mudah diingat, misalnya nama kecil, nama panggilan, tanggal lahir, dll.
Upaya pengamanan proteksi password :
a.    Salting, menambahkan string pendek ke string password yang diberikan pemakai sehingga mencapai panjang password tertentu
b.    one time password, pemakai harus mengganti password secara teratur, misalnya pemakai mendapat 1 buku daftar password. Setiap kali login pemakai menggunakan password berikutnya yang terdapat pada daftar password.
c.    satu daftar panjang pertanyan dan jawaban, sehingga pada saat login, komputer memilih salah satu dari pertanyaan secara acak, menanyakan ke pemakai dan memeriksa jawaban yang diberikan.
d.    tantangan tanggapan / chalenge respone, pemakai diberikan kebebasan memilih suatu algoritma misalnya x3, ketika login komputer menuliskan di layar angka 3, maka pemakai harus mengetik angka 27.
2.    Sesuatu yang dimiliki pemakai, misalnya bagde, kartu identitas, kunci, barcode KTM, ATM.
Kartu pengenal dengan selarik pita magnetik. Kartu ini disisipkan de suatu perangkat pembaca kartu magnetik jika akan mengakses komputer, biasanya dikombinasikan dengan password.
3.    Sesuatu mengenai / merupakan ciri pemakai yang di sebut biometrik, misalnya sidik jari, sidik suara, foto, tanda tangan, dll
Pada tanda tangan, bukan membandingkan bentuk tanda tangannya (karena mudah ditiru) tapi gerakan / arah dan tekanan pena saat menulis (sulit ditiru).

Untuk memperkecil peluang penembusan keamanan sistem komputer harus diberikan pembatasan, misalnya :
1.    Pembatasan login, misalnya pada terminal tertentu, pada waktu dan hari tertentu
2.    Pembatasan dengan call back, yaitu login dapat dilakukan oleh siapapun, bila telah sukses, sistem memutuskan koneksi dan memanggil nomor telepon yang disepakati. Penyusup tidak dapat menghibungu lewat sembarang saluran telepon, tapi hanya pada saluran tetepon tertentu.
3.    Pembatasan jumlah usaha login, misalnya dibatasi sampai 3 kali, dan segera dikunci dan diberitahukan ke administrator.

Objek yang perlu diproteksi :
1.    Objek perangkat keras, misalnya pemroses, segment memori, terminal, diskdrive, printer, dll
2.    Objek perangkat lunak, misalnya proses, file, basis data, semaphore, dll

Masalah proteksi adalah mengenai cara mencegah proses mengakses objek yang tidak diotorisasi. Sehingga dikembangkan konsep domain. Domain adalah himpunan pasangan (objek,hak). Tiap pasangan menspesifikasikan objek dan suatu subset operasi yang dapat dilakukan terhadapnya. Hak dalam konteks ini berarti ijin melakukan suatu operasi.

Cara penyimpanan informasi anggota domain berupa satu matrik besar, dimana :

  • baris menunjukkan domain
  • kolom menunjukkan objek