Minggu, 15 Mei 2016

Keuntungan dan Kekurangan Menggunakan Software Open Source

Open Source merupakan sebuah istilah yang digunakan dalam sofware komputer yang berarti bebas, artinya memungkinkan pengguna lain untuk membuka source code dari program sehingga dapat mengetahui dengan jelas cara kerja dari software tersebut. Software Open Source merupakan buah dari rapat yang diprakarsai oleh Netscape, penggagas Software Open Source adalah Eric S. Raymond, Crhistine Peterson, Todd Anderson, Larry Augustin, Jon Hall dan Sam Ockman dengan pelopornya Richard Stallman pada tahun 1998. Software open source mulai berkembang pesat setelah lahirnya sistem operasi linux yang dapat diperoleh secara gratis diinternet ditengah merajalelanya sistem operasi keluarga windows yang mengusung lisensi close source.
Pengembangan open source software melibatkan banyak orang dari berbagai penjuru dunia yang berinteraksi melalui internet. Maka bermunculanlah berbagai macam software yang dibuat berbasis open source ini yang dipublikasikan melalui internet. Pola open source ini telah melahirkan developer-developer handal dari berbagai penjuru dunia. Dengan pola open source orang dapat membuat dan mengembangkan apa yang disebut dengan free software. Software ini dapat digunakan tanpa perlu membayar lisensi atau hak cipta karena memang dikembangkan dengan pola open source.
Free software disini juga bukan program kacangan. Anggapan bahwa barang yang gratis jelek kualitasnya tidak berlaku buat free software. Karena sudah terbukti kehandalannya. Dan karena free software berbasis open source maka software tersebut sudah melalui proses perbaikan yang terus menerus. Jadi tidak ada alasan tidak mau menggunakan free software ini dengan alasan kualitasnya yang tidak baik. Keberhasilan dari software open source juga tidak lepas dari peran komunitas yang gemar untuk mempelajari dan mengembangkan software berbasis open source.

Contoh program yang berbasis open source:
1.        Sistem Operasi (OS) Untuk komputer  : Linux (debian, ubuntu, mint, slackware, backtrack, open suse)
2.        Untuk Smartphone : Android, Firefox OS
3.        Aplikasi          : GIMP, inkscape, Digikam, Abhishek’s GLIMPSE, XAMPP, mozilla Firefox, videolan, libreoffice, Filezilla, openoffice, Mplayer, dll

Keuntungan Perangkat Lunak Open Source secara umum
1.        Rendah Biaya, keuntungan utama menggunakan perangkat lunak open source, karena lebih hemat biaya. Sangat berbeda dengan perangkat lunak komersial yang menarik biaya untuk produknya karena mereka juga membutuhkan dana untuk melindungi perangkat lunaknya dari pembajakan.
2.        Tingkat Keamanan yang Tinggi, Banyak Pengembang yang berkala merawat perangkat lunak open source. Oleh karena itu mereka akan menemukan dan memperbaiki bug secara, yang secara tidak langsung juga menghilangkan celah keamanan
3.        Perangkat Lunak Lebih Stabil, Perangkat lunak open source jarang menyebabkan perangkat lunak yang lama mengalami kerusakan atau tidak dapat bekerja. Sebagai contoh, sistem operasi linux yang mendukung hampir seluruh program yang ada. Sangat berbeda dengan aplikasi versi Windows tertentu yang sering tidak dapat berjalan pada versi Windows lainnya
4.        Frekuensi Upgrade, Hampir seluruh perangkat lunak open source dimudahkan dalam proses upgrade dan gratis. Seperti misalnya kita dapat dengan mudah mengupgrade versi Debian.

Kekurangan Perangkat Lunak Open Source Secara Umum
1.        Fiturnya relatif terbatas, Perangkat lunak open source terkadang belum memiliki fitur-fitur seperti yang tersedia pada perangkat lunak berbayar. Sebagai contoh fasilitas pada Inkscape tidak sebanyak fasilitas pada Corel Draw
2.        Rumit Mempelajari pada Mulanya, Perangkat lunak open source, meskipun serupa seperti Windows, memerlukan waktu dan usaha yang lebih untuk mempelajarinya. Seperti contoh kita memerlukan waktu untuk mempelajari penggunaan tampilan antar muka desktop ubuntu
3.        Dukungan yang Terbatas,  Dukungan ketika menggunakan perangkat lunak open source kadang tidak banyak tersedia dibanding perangkat lunak berbayar. Jadi ketika kita mencari support pertama cobalah bergabung dengan komunitas yang ada pada website.

Keuntungan dan Kekurangan dilihat dari Sisi Pengembang dan Pengguna
A. Bagi Pengembang/Developer
Keuntungan
  • Pengembangan tidak perlu membuat dari awal perangkat lunak, karena pengembang dapat menggunakan library opensource yang sudah ada.
  • Pengembang akan memiliki reputasi dan memperoleh pengalaman selama bekerja dengan proyek opensource
  • Dengan mengopensourcekan project perangkat lunak, maka pengembang dapat memperoleh umpan balik berupa saran atau koreksi terhadap kode perangkat lunak
  • Pengembang dapat ikut berkolaborasi dengan bebas karena tidak perlu memikirkan berbagai masalah seperti hak kekayaan intelektual atau hal kepemilikan perangkat lunak 

Kekurangan
  • Pengembang dapat kehilangan kendali atas perangkat lunak yang dibuatnya
  • Pengembang lain boleh membuat percabangan/forking dan berpotensi menjadi produk saingan.
  • Karena kode sumber terbuka, maka kesalahan program dapat dengan mudah ditemukan oleh pihak yang tidak bertanggungjawab


B. Bagi Pengguna
Keuntungan
  • Banyak tersedia perangkat lunak yang gratis
  • Perangkat lunak open source secara umum memiliki komunitas yang dapat memberikan support
  • Project open source biasanya lebih cepat memberikan respon kepada pengguna daripada perangkat lunak propitriary
  • Perangkat lunak open source lebih stabil dan bug nya sedikit dibanding perangkat lunak closed source
  • Jika kita sebagai pengguna sekaligus pengembang, kita dapat mengimplementasikan fitur yang kita butuhkan dan berbagi dengan orang


Kekurangan
  • Ketersediaan perangkat lunak opensource umumnya menjawab kebutuhan pengembang bukan pengguna
  • Banyak perangkat open source yang tidak memfokuskan pada tampilan antarmuka
  • Terkadang perangkat lunak open source tidak terdokumentasi dengan baik, terutama dibagian petunjuk pengguna
  • Dukungan beberapa vendor hardware yang tidak mau membuka driver nya, sehingga driver hardware kadang tidak kompatible pada sistem open source


Sumber:

  1. Http://www.teorikomputer.com/2015/08/pengertian-open-source-beserta.html
  2. Https://ugos.ugm.ac.id/wiki/dokumentasi:pro_dan_kontra_menggunakan_open_source



Sabtu, 23 April 2016

STRUKTUR PERULANGAN PADA PASCAL

Blok pengulangan merupakan blok program yang memiliki mekanisme untuk melakukan pengekseksekusian statment secara berulang. Hal ini akan membuat program yang ditulis lebih efesien. Bahsa pascal memiliki tiga buah kontruksi untuk melakukan pengulangan, yaitu dengan menggunakan statemen for, while...do, repeat...until.
                            
1.  Statment for.
Kontruksi pengulangan for digunakan untuk melakukan pengulangan yang banyak. Dalam pengulangan jenis ini kita akan membutuhkan sebuah variabel sebagai indeks pengulangan yang dapat bertipe bilangan bulat.



 contoh pemakaian for .. do




2.  Statment While Do.

Kontruksi pengulangan while ini terdapat suatu kondisi yang harus diperiksa terlebih dahulu. sehingga program dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari kondisi yang diseleksi tersebut. Aksi dalam while akan dilakukan selama kondisi memiliki nilai true, dan aksi mungkin tidak dilakukan sama sekali jika di awal loop kondisi sudah bernilai false. Hal yang perlu diperhatikan dalam loop ini adalah kepastian bahwa loop akan berhenti (bahwa suatu saat kondisi akan bernilai false) atau dengan kata lain perulangan WHILE-DO tidak dilakukan jika kondisi tidak terpenuhi.

Bentuk Umum:


batas_awal;
while batas_akhir do
begin
  statement/pernyataan_yang_akan_diulang;
end

 
contoh penggunaan while .. do


3.  Statment Repeat Until.

Blok pengulangan repeat mirip dengan blok pengulangan while, perbedaannya hanya pada jenis ini pengulangan akan terus dilakukan apabila kondisi yang didefenisikan masih bernilai false, jadi pengulangan akan berhenti pabila kondisi bernilai true.dalam pengulangan jenis ini kondisi akan dituliskan di akhir blok.

Bentuk umum:
Repeat
   Statemen;
   ....
Until (kondisi)

 
contoh pemakaian repeat ... until


Referensi:
Raharjo,Budi. Teknik Pemograman Pascal, Informatika Bandung , 2005
susi22.staff.gunadarma.ac.id/.../Konsep+Dasar+Bahasa+Pascal-ok.doc
modul ilab gunadarma

Konstanta, Variabel dan Ekspresi pada Pascal

1. Konstanta
Konstanta adalah suatu identifier yang nilainya tidak dapat diubah selama program berjalan.
Bagian umum deklarasinya adalah :
          CONST identifier = nilai;
Contoh :
          CONST phi = 3.14;
           x = 2;
           y = ‘S’;

2.    Variabel
Variabel adalah suatu pengenal yang didefinisikan oleh programmer untuk menyimpan nilai atau data tertentu yang dibutuhkan dalam program pada saat program berjalan (run-time).  suatu identifier non-standar yang nilainya tidak tetap atau nilainya merupakan hasil dari suatu proses.
Aturan-auran penamaan variabel dalam pascal
·        Tidak boleh mengandung spasi,simbol dan tanda.
·        Tidak boleh diawali dengan angka.
·   Tidak boleh menggunakan kata kunci yang sudah terdapat didalam bahsa pascal seperti: for, while.

Bentuk umum deklarasinya adalah :
1.     Jika hanya 1 (satu) variabel yang dideklarasikan :
VAR identifier : jenis data;

2.     Jika lebih dari 1 (satu) variabel dan masing-masing memiliki jenis data yang sama :
VAR id-1, id-2, …., id-3 : jenis data;

3.     Jika beberapa variabel yang berbeda jenis datanya :
VAR     identifier-1 : jenis data;
        identifier-2 : jenis data;
             .
             .
             .
        identifier-n : jenis data;

4.     Jika variabel yang dideklarasikan berjenis data non-standar :
TYPE id = (data_item_1,data_item_2,…,data_item_n);
VAR id-v : id;

SUB-RANGE :
TYPE  id = data_item_pertama .. data_item_terakhir;
VAR   id-v : id;
     
     Contoh :
     1.  VAR x    : integer;
2.  VAR  p,q,r : real;
3.  VAR  a,b : char;
m,n  : boolean;
4.  TYPE warna = (merah,hitam,biru,putih,kuning);
      VAR    x1,x2 : warna;
5.  TYPE tahun = 1900 .. 1993;
      VAR thn-1,thn-2,thn-3 : tahun;

Berdasarkan ruang lingkupnya variabel dibedakan menjadi dua yaitu variabel global dan variabel lokal. Variabel global adalah variabel tersebut dideklarasikan diluar blok atau rutin-rutin (prosedur atau fungsi) tertentu. Sedangkan variabel lokal adalah variabel yang dideklarasikan dalam suatu rutin tertentu sehingga hanya dikenali oleh rutin bersangkutan saja.

3.    Ekspresi
Sebuah ekspresi merupakan kumpulan dari  operand-operand (seperti : bilangan, konstanta, variabel dll) yang bersama-sama dengan operator membentuk suatu bentuk aljabar dan menyatakan suatu nilai.

Ada 2 (dua) jenis ekspresi dalam bahasa Pascal, yaitu :
1.     Ekspresi numerik / aritmatika, yaitu suatu ekspresi yang menghasilkan nilai numerik / aritmatika.
2.     Ekspresi Boolean atau ekspresi logika, yaitu suatu ekspresi yang menghasilkan nilai boolean / logika (true/false).

Contoh :
1.     (b * b – 4 * a * c) / (2*a)  / (2 * a)  Þ  ekspresi numerik, jika a,b dan c adalah bilangan (variabel bernilai numerik).

2.     Upah < 1000.0  Þ  ekspresi boolean (“upah” adalah suatu variabel bernilai real).


Referensi:
Raharjo,Budi. Teknik Pemograman Pascal, Informatika Bandung , 2005
susi22.staff.gunadarma.ac.id/.../Konsep+Dasar+Bahasa+Pascal-ok.doc
modul ilab gunadarma

OPERATOR PADA PASCAL

Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori, yaitu
1.     Assignment operator.
2.     Binary operator.
1.     Unary operator.
2.     Bitwise operator.
3.     Relational operator.
4.     Logical operator.
5.     Address operator.
6.     Set operator.
7.     String operator.


1. Assignment Operator
Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=).
Contoh :
                   A:=B;

2 .   Binary Operator
Digunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real.

Operator

Operasi
Tipe operand
Tipe hasil
*
Perkalian
real,real
integer,integer
real,integer
real
integer
real
DIV
Pembagian bulat
integer,integer
integer
/
Pembagian real
real,real
integer,integer
real,integer
real
real
real
MOD
Sisa pembagian
integer,integer
integer
+
Pertambahan
real,real
integer,integer
real,integer
real
integer
real
-
pengurangan
real,real
integer,integer
real,real
real
integer
real

Contoh :
                   15*5       hasilnya   75
           20/3       hasilnya   6.6666666667E+00
           20 div 3   hasilnya   6
           20 mod 3   hasilnya   2

3.    Unary Operator
Operator ini hanya menggunakan sebuah operand saja. Dapat berupa unary minus dan unary plus. Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operang numerik real maupun integer. Unaru plus adalah operator untuk memberai tanda plus.
Contoh :
           -5   +7
           -2.5 +2.5

4.    Bitwise Operator
Digunakan untuk operasi bit per bit pada nilai integer. Terdiri dari operator NOT, AND, OR, XOR, Shl, Shr.
Operator
Operasi
Tipe Operand
Tipe Hasil
NOT
Bitwise Negation
Integer
Integer
AND
Bitwise AND
Integer, Integer
Integer
OR
Bitwise OR
Integer, Integer
Integer
XOR
Bitwise XOR
Integer, Integer
Integer
Shl
Shift Left
Integer, Integer
Integer
Shr
Shift Right
Integer, Integer
Integer
Bitwise Operator


 5.    Relational Operator

Relational operator digunakan untuk  membandingkan hubungan antara dua buah operand dan akan didapatkan hasil tipe boolean, yaitu True atau False.
Operator
Operasi
=
Sama dengan
< >
Tidak sama dengan
> 
Lebih besar dari
>=
Lebih besar sama dengan dari
< 
Lebih kecil dari
<=
Lebih kecil sama dengan dari
IN
Seleksi dari anggota himpunan
Relational Operator

6.    Logical Operator
Terdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan nilai-nilai logika, yaitu True dan False.

7.    Address Operator 
Merupakan operator khusus yang berhubungan dengan alamat (address) di memori, yaitu address of operator (@) dan indirection operator (^).
Operator @ akan menghasilkan alamat dari suatu nilai variabel.
operator ^ akan menghasilkan nilai di alamat yang ditunjukkan.

 8.    Set operator
 Digunakan untuk operasi himpunan.
Operator
Operasi
+
Union
-
Perbedaan Himpunan
*
Perkalian Himpunan
Set Operator

9.    String operator
Digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabungkan dua buah nilai string.
Contoh : 
                   Nama1 := ‘Arief ‘;
          Nama2 := ‘Kurniawan’;

          Nama3 := Nama1 + Nama2;



Referensi:
Raharjo,Budi. Teknik Pemograman Pascal, Informatika Bandung , 2005
susi22.staff.gunadarma.ac.id/.../Konsep+Dasar+Bahasa+Pascal-ok.doc
modul ilab gunadarma