Selasa, 31 Mei 2016

Teknik-teknik Pendeskripsian Semantik Bahasa Pemrograman


a.  Operational Semantic

Pendekatan ini mendefinisikan suatu mesin buatan (Abstract) dengan instruksi-instruksi primitif, tidak perlu realistik, tetapi cukup sederhana supaya tidak muncul kesalahpahaman. Deskripsi semantik dari bahasa pemrograman menentukan suatu translasi ke kode.

b.  Denotational Semantic

Pada pendekatan ini, diberikan suatu fungsi yang memetakan program-program komputer yang ditunjuk ke dalam bentuk nilai-nilai abstrak secara matematika (angka, nilai, kebenaran, fungsi matematika, dsb).

c.  Axiomatic Semantic

Pada pendekatan ini didefinisikan suatu tindakan program yang dibangun dengan properti logika yang menyimpan status komputer sebelum dan sesudah eksekusi.

d.  Algebraic Semantic

Pada pendekatan ini dipertimbangkan suatu objek komputasi yang menjadi syarat-syarat dalam aljabar multi-sorted. Program mengimplementasikan fungsi yang dapat diwujudkan dengan suatu persamaan diantara syarat-syarat tersebut.

e.  Structured Operational atau Natural Semantic

Seperti dalam pengambilan keputusan secara alamiah dengan logika. Program diberi suatu arti dari aturan yang diturunkan yang menggambarkan penilaian gagasan suatu bahasa.


Konsep Visual Basic

&  Evolusi Bahasa Pemrograman Berbasis DOS dan Windows
-          Generasi I   ( 1940 )          : Mesin Code ( Bahasa mesin )
-          Generasi II  ( 1950 )         : Assembly language ( Bahasa Rakitan )
-          Generasi III ( 1960 )         : High Level ( Cobol & Fortran )
-          Generasi IV ( 1970 )         : Query and DatabaseLanguages
-          Generasi V   ( 1980 )        : Sistem Pakar

&  Perkembangan dari VisualBasic
-          Microsoft Visual Basic 3.0  menggunakan Sistem operasi Windows 3.1
-          Microsoft Visual Basic 4.0  menggunakan Sistem operasi 16 bit Windows 3.1 dan 32 bit Windows 95
-          Microsoft Visual Basic 5.0  menggunakan Sistem operasi Windows 95 dan windows NT
-          Microsoft Visual Basic 6.0  menggunakan Sistem operasi Windows 9x, 2000, Windows XP dan windows NT

&  Keuntungan menggunakan Visual Basic
-       Mendukung pembentukan program aplikasi berbasis windows (jendela – jendela ) dengan menu yang menarik dan professional.
-       Jendela yang dihasilkan  dapat dipindah-pindahkan ( Moveable ) dan diperbesar atau diperkecil (Resizeable )
-       Microsoft Visual Basic secara otomatis dapat mengenal dan memanfaatkan mouse

&  Istilah-istilah Visual Basic
-          Event-Driven,  artinya setiap aplikasi yang ada digerakan oleh user
-          GUI ( Grafical Unit Interface ) adalah pemrograman yang menggunakan tampilan grafik sebagai alat komunikasi dengan pemakainya
-          DAO ( Data access Object ) dukungan untuk memudahkan akses terhadap database lain
-          OLE ( Object Linking dan Embedding ) kemudahan menghubungkan beberapa aplikasi dalam Windows
-          Active X aplikasi yang digunakan oleh pengguna internet
-          OCX dukungan untuk menggunakan tolls tambahan
-          DLL ( Dynamic Link Library ) adalah kumpulan library untuk menggabungkan program dalam microsoft Visual Basic dengan bahasa pemrograman lainnya
-          DDE ( Dynamic Data Exchange ) Dukungan kemudahan pertukaran dalam membangun program

Desain Sistem

TIGA KATEGORI DESAIN SISTEM

1. Global-Based Systems
2. Group-Based Systems
3. Local-Based Systems

Global-Based Systems (Sistem Berbasis Global)

Untuk mendesain sistem yang berbasis global (global-based) membutuhkan pemeriksaan secara seksama dan lengkap atau penggantian dari seluruh komponen desain umum. Beberapa tipe perubahan yang umum adalah :

  • Output yang lama : dari laporan berbentuk tabel setiap bulannya menjadi layar grafik berwarna 2 atau 3 dimensi 
  • Proses baru dibuat 
  • Input diambil dari peralatan scan daripada dengan pensil dan kertas 
  • Database hirarki lama diubah ke database relasional baru dengan standar bahasa query 
  • Kontrol yang bervariasi diinstal, termasuk UPS (Uninterruptible Power Systems), DRP (Disaster Recovery Plans), peralatan enkripsi dan peralatan kontrol akses biometri 
  • Platform teknologi baru yang menggabungkan seluruh topologi jaringan organisasi (komputer dan peralatannya) yang mendukung 

Membutuhkan beberapa tim proyek yang langsung ditunjuk dari CIO.

Lembar kerjanya berisi semua komponen desain umum berikut deskripsi masing-masing secara umum. Beberapa alternatif diberikan ke user untuk di review dan diketahui.
Setelah direview, alternatif beberapa aspek dapat digabungkan untuk dibuat gabungannya. Beberapa diantaranya dapat diterima atau dapat ditolak.

Group-Based Systems (Sistem Berbasis Kelompok)

Sistem ini melayani cabang-cabang atau group user khusus dalam organisasi. Kelompok ini memiliki kebutuhan khusus untuk menyelesaikan pekerjaan dan membuat keputusan yang tepat. Perancang sistem yang bekerja pada group ini perlu memiliki pengetahuan tentang bekerja pada sistem group-based. Perancang tidak perlu memusatkan perhatian ke perancangan desain sistem tertentu, seperti database dan platform teknologi tetapi pada output, input, proses, kontrol dan untuk platform teknologi, khusus untuk group local (LAN).

Local-Based Systems (Sistem Berbasis Lokal)

Sistem ini khusus didesain untuk beberapa orang, sering satu atau dua, untuk aplikasi khusus tambahan. User memiliki PC dan ia direncanakan untuk memiliki sistemnya. Profesional sistem umumnya dipakai untuk bekerja sama dengan user menganalisis mendesain, mengevaluasi sistem yang berbeda, memilih satu dan mengimplementasikan dengan menggunakan
jaringan dan pendukungnya

Peranan Penganalisis Sistem

Penganalisis sistem secara sistematis menilai bagaimana fungsi bisnis dengan cara mengamati proses input dan pengolahan data serta proses output informasi dengan untuk membantu peningkatan proses-proses organisasional.

Penganalisis harus mampu bekerja dengan orang-orang dari semua kalangan sekaligus bekerja dengan komputer. Penganalisis memainkan banyak peran, kadang-kadang menyeimbangkan banyak hal sekaligus dalam waktu yang sama.

Tiga peran Penganalisis sistem adalah :

  1. Konsultan luar untuk bisnis 
  2. Ahli pendukung di dalam bisnis 
  3. Agen perubahan baik dalam situasi internal maupun eksternal terhadap bisnis

Penganalisis memiliki kemampuan yang beragam. Pertama yang paling menonjol, adalah sebagai pemecah segala masalah, yakni orang yang menikmati tantangan menganalisis masalah dan merencanakan solusi yang bisa digunakan. Penganalisis sistem memerlukan keahlian dalam
berkomunikasi dengan berbagai macam orang sekaligus dengan komputer. Keterlibatan pengguna ujung berpengaruh terhadap keberhasilan mereka.

SISTEM & ANALISIS SISTEM

Definisi Sistem

Sistem adalah sekumpulan unsur / elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan.

Contoh :

  • Sistem Komputer terdiri dari Software, Hardware, dan Brainware
  • Sistem Akuntansi


Menurut LUDWIG VON BARTALANFY

Sistem merupakan seperangkat unsur yang saling terikat dalam suatu antar relasi diantara unsur-unsur tersebut dengan lingkungan.

Menurut ANATOL RAPOROT

Sistem adalah suatu kumpulan kesatuan dan perangkat hubungan satu sama lain.

Menurut L. ACKOF

Sistem adalah setiap kesatuan secara konseptual atau fisik yang terdiri dari bagian-bagian dalam keadaan saling tergantung satu sama lainnya.

Syarat-syarat sistem :
1. Sistem harus dibentuk untuk menyelesaikan masalah.
2. Elemen sistem harus mempunyai rencana yang ditetapkan.
3. Adanya hubungan diantara elemen sistem.
4. Unsur dasar dari proses (arus informasi, energi dan material) lebih penting dari pada elemen sistem.
5. Tujuan organisasi lebih penting dari pada tujuan elemen.

Secara garis besar, sistem dapat dibagi 2 :

A. SISTEM FISIK ( PHYSICAL SYSTEM ) :

Kumpulan elemen-elemen/ unsur-unsur yang saling berinteraksi satu sama lain secara fisik serta dapat diidentifikasikan secara nyata tujuan-tujuannya.

Contoh :
- Sistem transportasi, elemen : petugas,mesin, organisasi yang menjalankan transportasi
- Sistem Komputer, elemen : peralatan yang berfungsi bersamasama untuk menjalankan pengolahan data.

B. SISTEM ABSTRAK ( ABSTRACT SYSTEM) :

Sistem yang dibentuk akibat terselenggaranya ketergantungan ide, dan tidak dapat diidentifikasikan secara nyata, tetapi dapat diuraikan elemen-elemennya.

Contoh :
Sistem Teologi, hubungan antara manusia dengan Tuhan.

PENGERTIAN ANALISIS SISTEM

Suatu sistem akan dirancang oleh satu orang atau sekelompok orang yang membentuk tim. Orang yang merancang sistem ini disebut Sistem Analis.

Ada yang mendefinisikan Sistem Analis sebagai :

  • Seorang yang menggunakan pengetahuan aplikasi komputer yang dimilikinya untuk memecahkan masalah-masalah bisnis, dibawah petunjuk Manajer Sistem. 
  • Seorang yang bertanggung jawab menterjemahkan kebutuhan-kebutuhan si pemakai sistem (user) ke dalam spesifikasi teknik yang diperlukan oleh Programmer dan diawasi oleh Manajemen.

TEORI BAHASA DAN AUTOMATA

Teori Bahasa

Teori bahasa membicarakan bahasa formal (formal language), terutama untuk
kepentingan perancangan kompilator (compiler) dan pemroses naskah (text
processor). Bahasa formal adalah kumpulan kalimat. Semua kalimat dalam sebuah
bahasa dibangkitkan oleh sebuah tata bahasa (grammar) yang sama. Sebuah bahasa
formal bisa dibangkitkan oleh dua atau lebih tata bahasa berbeda. Dikatakan bahasa
formal karena grammar diciptakan mendahului pembangkitan setiap kalimatnya.
Bahasa manusia bersifat sebaliknya; grammar diciptakan untuk meresmikan kata-kata
yang hidup di masyarakat. Dalam pembicaraan selanjutnya ‘bahasa formal’ akan
disebut ‘bahasa’ saja.

Automata

Automata adalah mesin abstrak yang dapat mengenali (recognize), menerima
(accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu.
Beberapa Pengertian Dasar

  • Simbol adalah sebuah entitas abstrak (seperti halnya pengertian titik dalam geometri). Sebuah huruf atau sebuah angka adalah contoh simbol.
  • String adalah deretan terbatas (finite) simbol-simbol. Sebagai contoh, jika a, b,dan c adalah tiga buah simbol maka abcb adalah sebuah string yang dibangun dari ketiga simbol tersebut.
  • Jika w adalah sebuah string maka panjang string dinyatakan sebagai w dan didefinisikan sebagai cacahan (banyaknya) simbol yang menyusun string tersebut. Sebagai contoh, jika w = abcb maka w= 4.
  • String hampa adalah sebuah string dengan nol buah simbol. String hampa dinyatakan dengan simbol ε (atau ^) sehingga ε= 0. String hampa dapat dipandang sebagai simbol hampa karena keduanya tersusun dari nol buah simbol.
  • Alfabet adalah hinpunan hingga (finite set) simbol-simbol 

PHP

PHP adalah bahasa pemrograman web atau scripting languange yang di design untuk membuat web-based application . Php banyak dipakai untuk memprogram situs web dinamis, walaupun tidak ditutup kemungkinan untuk pemakaian lain.

PHP adalah singkatan dari “PHP (Personal HomePage) Hypertext Preprocessor” yang merupakan bahasa scripting yang dieksekusi di sisi server (server-side scripting languange). Fungsinya adalah untuk membuat sebuah website yang efektif dan dinamis.

PHP menjadi populer karena kesederhanan dan kemampuannya dalam menghasilkan berbagai aplikasi web. Mulai dari counter, sistem artikel atau countent management system, e-commerce/e-store, bulletin board/forum diskusi, dan sebagainya dapat dibuat dengan PHP.

MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari system manajemen basisdata relasional (RDBMS). MySQL dibuah oleh TcX dan telah dipercaya mengelola system dengan 40 buah database berisi 10.000 tabel dan 500 di antaranya memiliki 7 juta baris. MySQL AB merupakan perusahaan komersial Swedia yang mensponsori dan yang memiliki MySQL.

Pendiri MySQL AB adalah dua orang Swedia yang bernama David Axmark, Allan Larsson dan satu orang Finlandia bernama Michael “Monty”. Setiap pengguna MySQL dapat menggunakannya secara bebas yang didistribusikan gratis dibawah lisensi GPL(General Public License) namun tidak boleh menjadikan produk turunan yang bersifat komersial. Pada saat ini MySQL merupakan database server yang sangat terkenal di dunia, semua itu tak lain karena bahasa dasar yang digunakan untuk mengakses database yaitu SQL. SQL (Structured Query Language) pertama kali diterapkan pada sebuah proyek riset pada laboratorium riset San Jose, IBM yang bernama system R. Kemudian SQL juga dikembangan oleh Oracle, Informix dan Sybase.

Dengan menggunakan SQL, proses pengaksesan database lebih user-friendly dibandingan dengan yang lain, misalnya dBase atau Clipper karena mereka masih menggunakan perintah-perintah pemrograman murni. SQL dapat digunakan secara berdiri sendiri maupun di lekatkan pada bahasa pemograman seperti C, dan Delphi. Mysql pada web pada umumnya menggunakan php my admin yang terdapat pada apachefriends.

1. DDL (Data Defination Language)
DDL berfungsi untuk mendefinisikan atribut basis data, table, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Perintah yang digunakan biasanya : CREATE,ALTER, dan DROP
- Membuat Database Syntax yang digunakan : CREATE DATABASE namadatabase;
- Menghapus Database Syntax yang digunakan: DROP DATABASE namadatabase;
- Membuat Tabel Syntax yang digunakan : CREATE TABLE namatabel;
- Menghapus Database Syntax yang digunakan : DROP DATABASE namadatabase;
- Menghapus Tabel Syntax yang digunakan : DROP TABEL namatabel;
- Mendefinisikan null/not null Syntax yang digunakan : CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL, Field2 TipeData2 );
- Mendefinisikan Nilai Default Syntax yang digunakan : CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2 DEFAULT nilai );

2. DML (Data Manipulation Language)
DML berfungsi untuk memanipulasi data yang ada di dalam basis data, contohnya untuk pengambilan data, penyisipan data, pengubahan data dan penghapusan data. Perintah yang digunakan biasanya adalah : INSERT, DELETE, UPDATE, dan SELECT.
- INSERT menambah baris pada tabel. Syntax yang paling sering digunakan : INSERT INTO namatabel VALUES (nilai1, nilai2, nilai-n);
- DELETE Menghapus baris pada tabel. Syntax : DELETE FROM namatabel [where kondisi];
- UPDATE Mengubah isi beberapa kolom pada tabel. Syntax : UPDATE namatabel SET kolom1=nilai1, kolom2=nilai2 [where kondisi];
- SELECT Menampilkan isi dari suatu tabel yang bisa dihubungkan dengan tabel yang lainnya;

3. DCL (Data Control Language)
DCL adalah bagian inti dari SQL (Structured Query Language) yang mempunyai kemampuan untuk mengatur hak akses terhadap sebuah basis data. DCL terbagi 2, yaitu:
- GRANT
Memberikan hak akses. Bentuk umumnya: GRANT priviliges ON tbname TO user;
Contoh: GRANT select, insert ON mahasiswa TO user1;
Perintah grant tersebut menunjukkan bahwa user1 diberikan hak akses untuk menampilkan dan menambah data kedalam tabel mahasiswa.
- REVOKE
Mencabut hak akses. Bentuk umumnya: REVOKE priviliges ON tbname FROM user;

Sumber :
Adelheid, Andrea & Khairil Nst.Buku Pintar Menguasai PHP MySQL.Media Kita. Jakarta:2012.
Sudirma, S., Panduan Belajar My Sql Database Server, Media Kita, Jakarta,
2010.

SISTEM PAKAR

Sistem pakar(Expert System) adalah sistem yang berusaha menerapkan pengetahuan manuasia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli.
Dengan sistem pakar, orang awam pun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli sistem pakar juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman. Sistem pakar dikembangkan pertama kali pada tahun 1960-an dan 1970-an dan diterapkan secara komersial selama 1980-an. Bentuk umum sistem pakar adalah suatuprogam yang dibuat berdasarkan suatu set aturan yang menganalisa informasi mengenai suatu masalah.

  1. keahlian  : Bersifat luas dan merupakan penguasaan pengetahuan dalam bidang khusus yang diperoleh dari pelatihan, membaca atau pengalaman. Contoh bentuk pengetahuan yang termasuk keahlian :Teori, fakta, aturan-aturan pada lingkup permasalahan tertentu. Strategi global untuk menyelesaikan masalah.
  2. Ahli / Pakar :Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan, menyusun kembali pengetahuan jika dipandang perlu, memecahkan masalah dengan cepat dan tepat.
  3. Pengalihan keahlian :Tujuan dari sistem pakar adalah untuk mentransfer keahlian dari seorang pakar ke dalam komputer kemudian ke masyarakat. Proses ini meliputi 4 kegiatan, yaitu perolehan pengetahuan (dari para ahli atau sumber-sumber lainnya), representasi pengetahuan ke komputer, kesimpulan dari pengetahuan dan pengalihan pengetahuan ke pengguna.
  4. Mengambil keputusan :Hal yang unik dari sistem pakar adalah kemampuan untuk menjelaskan dimana keahlian tersimpan dalam basis pengetahuan. Kemampuan komputer untuk mengambil kesimpulan dilakukan oleh komponen yang dikenal dengan mesin inferensi yaitu meliputi prosedur tentang pemecahan masalah.
  5. Aturan :Sistem pakar yang dibuat merupakan sistem yang berdasarkan pada aturan – aturan dimana program disimpan dalam bentuk aturan-aturan sebagai prosedur pemecahan masalah. Aturan tersebut biasanya berbentuk IF – THEN.6. Kemampuan menjelaskan:Keunikan lain dari sistem pakar adalah kemampuan dalam menjelaskan atau memberi saran/rekomendasi serta juga menjelaskan mengapa beberapa tindakan/saran tidak direkomendasikan
Sumber : Hartati, Sri ,dkk., Sistem Pakar Dan Pengembangannya, Graha Ilmu, Yogyakarta, 2008

Kelebihan & Kekurangan Bahasa Pemrograman Java

KELEBIHAN JAVA

Sintaks bahasa yang digunakan dalam Java merupakan pengembangan dari bahasa C/C++.Hal ini dilakukan karena bahasa C/C++ merupakan bahasa pemrograman yang telah dikenal oleh banyak pemrogram sehingga mempelajari Java seharusnya bukan merupakan sesuatu yang sulit. Selain itu, bahasa C/C++ juga telah dikenal sebagai bahasa yang handal, bahkan dapat dikatakan era pemrograman modern dimulai oleh bahasa C yang kemudian diteruskan oleh C++ dengan paradigma pemrograman berorientasi objeknya yang terkenal. Segala kelebihan bahasa C/C++ inilah yang dikembangkan lebih lanjut di dalam bahasa Java.
Berikut ini adalah rangkuman kelebihan dari bahasa Java dibandingkan dengan bahasa pemrograman lainnya

  1. Bersifat portable dan platform independent. Program Java yang ditulis akan dapat dieksekusi di platform manapun tanpa memerlukan kompilasi ulang (portable) asalkan Java Virtual Machine untuk platform tersebut tersedia.
  2. Memiliki garbage collection yang dapat mendealokasi memori secara otomatis. Tidak perlu secara eksplisit membebaskan suatu lokasi memori yang dipakai karena ini akan dilakukan secara otomatis oleh Java.
  3. Menghilangkan pewarisan berganda yang terdapat pada C++. Walaupun kelihatannya lebih sebagai suatu kekurangan, namun banyak para ahli yang mengakui bahasa konsep pewarisan berganda lebih banyak mengakibatkan kerugian daripada keuntungan. Java telah didesain sedemikian rupa sehingga teknik ini tidak akan diperlukan dalam pembuatan program apapun.
  4. Mengurangi pointer aritmatik. Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinkan program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan, untuk mengurangi dan menghilangkan kemungkinan kesalahan seperti ini, penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
  5. Mengurangi kerancuan antara pemberian nilai pada conditional statement. Contohnya, pada penggunaan tanda “=” dengan “==” pada kondisi If


KELEMAHAN JAVA

Selain kelebihannya, Java juga memiliki kelemahan antara lain :

  1. Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain dalam Java. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  2. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama, kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak.
  3. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal.
Sumber : Sk.lab.gunadarma.ac.id