25 April 2013

TUGAS ANALISIS LEKSIKAL


NAMA           : GRIANDINI
NPM             : 13110041
KELAS          : 3 KA 33


ANALISIS LEKSIKAL

Analisis leksikal adalah sebuah proses yang mendahului parsing sebuah rangkaian karakter. Ia menerima masukan serangkaian karakter (seperti dalam dokumen plain-text atau source code) dan menghasilkan deretan simbol yang masing-masing dinamakan token; proses parsing akan lebih mudah dilakukan bila inputnya sudah berupa token.
Analisis leksikal terdiri dari dua tahap. Tahap pertama adalah pemindaian (scanning); scanner biasanya dibuat berdasarkan prinsip Finite State Machine ("mesin dengan jumlah keadaan terbatas"). Pada tahap ini, scanner akan membaca input karakter-ke-karakter, mengubah keadaannya sendiri berdasarkan karakter yang tengah dibaca. Setiap kondisi final (input dianggap valid) akan dicatat, bersama dengan lokasi input. Pada akhirnya scanner akan menemui keadaan penolakan, yang tidak akan berubah dengan input karakter apapun. Deteksi rekursi semacam ini akan mengakhiri proses pemindaian dan memindahkan keadaan scanner ke keadaan final terakhir, dan karenanya menyimpan informasi jenis dan besar lexeme valid yang terpanjang di dalam input.
Namun lexeme tersebut belum punya nilai semantik apapun; pemberian nilai semantik pada setiap unit leksikal adalah tugas dari evaluator yang memeriksa semua karakter setiap lexeme dan memberinya nilai tertentu. Saat sebuah lexeme telah memiliki informasi mengenai tipe dan nilainya, ia dapat secara valid disebut sebagai token.
Analisis leksikal membuat pekerjaan membuat sebuah parser jadi lebih mudah; ketimbang membangun nama setiap fungsi dan variabel dari karakter-karakter yang menyusunnya, dengan analisis leksikal parser cukup hanya berurusan dengan sekumpulan token dan nilai sintaksis masing-masing. Terlepas dari efisiensi pemrograman yang dapat dicapai dengan penggunaannya, proses kerja analisis leksikal yang membaca lebih dari sekali setiap karakter dari input yang diberikan menjadikan penganalisa leksikal sebagai sub-sistem yang paling intensif melakukan komputasi, terutama bila digunakan dalam sebuah kompilator. (Sumber : http://id.wikipedia.org/wiki/Analisis_leksikal )

Dibawah ini adalah contoh program sederhana untuk analisis leksikal menggunakan bahasa pemrograman C++. Program ini akan melakukan penginputan karakter dan akan memunculkan karakter yang telah diinput :

Source Codenya


OUTPUT PROGRAMNYA :
-  Pada bagian #include memberitahuakan preprosesor untuk menyertakan kode dari iostream, Berkas iostream berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh perangkat lunak, atau class-class yang dibutuhkan.
-Void main() Pernyataan ini mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi banyak fungsi, yang harus selalu memiliki sebuah fungsi utama (main function).
-{ : Kurung kurawal buka menandakan awal program
-}  : Kurung kurawal tutup menandakan akhir program
-Cout adalah sebuah object dari  program C++ yang digunakan untuk mencetak string ke output standart, yang biasanya adalah layar computer.
-Fungsi getch() ini hanya digunakan untuk menghentikan suatu proses yang berjalan.


Setelah memasukan nama, npm , kelas, nilai uts dan uas, maka data yang sudah diinput akan ditampilkan oleh program. Dari program tersebut, akan kita baca setiap karakter demi karakter, contohnya :
# ->t_simbol > ->t_delimiter
include ->t_identifier # ->t_simbol
< ->t_delimiter include ->t_identifier
iostream.h ->t_identifier < ->t_delimiter
conio.h ->t_identifier " ->t_simbol
> ->t_delimiter ; ->t_simbol
void ->t_identifier 
main ->t_identifier >> ->t_simbol
( ->t_delimiter nama ->t_var
) ->t_delimiter ; ->t_simbol
{ ->t_delimiter cout ->t_identifier
clrscr ->t_identifier << ->t_simbol
( ->t_delimiter " ->t_simbol
) ->t_delimiter 
  • T_identifier merupakan reserved word dari bahasa pemrograman C++.
  • T_delimiter merupakan simbol yang bisa diabaikan (dibuang) oleh compiler. Contohnya tanda kurung, kurung kurawal, kurung siku.
  • T_simbol merupakan tanda-tanda khusus yang memiliki arti masing-masing.
  • T_var merupakan token untuk variabel.
  • T_string merupakan token untuk string, biasanya kalimat yang berada di dalam tanda kutip atau komentar.
  • T_int merupakan token untuk menyatakan integer. Biasanya ini menyatakan angka.



22 April 2013

Tugas 2 Bahasa Indonesia (DEDUKTIF)

DEDUKTIF 

 Deduktif adalah metode berpikir yang menerapkan hal-hal yang umum terlebih dahulu untuk seterusnya dihubungkan dalam bagian-bagiannya yang khusus. Dalam penulisan paragraf deduktif, deduktif adalah paragraf yang kalimat utamanya terletak di awal paragraf, lalu kalimat-kalimat selanjutnya adalah kalimat penjelasan terhadap kalimat utama tersebut. berikut adalah contoh dari penulisan secara Deduktif.
Paragraf Deduktif
Paragraf deduktif adalah paragraf yang ide pokok atau kalimat utamanya terletak di awal paragraf dan selanjutnya di ikuti oleh kalimat kalimat penjelas untuk mendukung kalimat utama.
ciri-ciri paragraf deduktif
  1. kalimat utama berada di awal paragraf.
  2. kalimat disusun dari pernyataan umum yang kemudian disusul dengan penjelasan.


CONTOH :

PENCEMARAN AIR 

  Pencemaran air terjadi dalam skala luas yang bersumber pada limbah cair kegiatan usaha dan rumah tangga yang dialirkan ke sungai. Berbagai kegiatan manusia menghasilkan produk sampingan atau bahan buangan yang  disebut limbah, baik limbah padat, cair, maupun limbah panas.
  Bentuk limbah padat dapat dikelompokkan menjadi limbah domestik, limbah industri, limbah pertanian, sedimen, polusi laut dan pembangkit nuklir. Limbah industri biasanya mengandung bahan-bahan kimia yang berlebihan misalnya asam, alkali, minyak vaselin, phenol dan merkuri (bahan radioaktof) yag bisa diserap atau masuk ke dalam ranta makanan tumbuhan dan hewan air hingga ke tubuh manusia.
  Limbah domestik berupa buangan saniter meliputi air dari kakus (toilet), dapur, restoran, hotel, rumah sakit, laundry, dan lain-lain yang dibuang ke sistem drainase dan atau sungai. Air buangan ini terdiri atas bahan organik termasuk bakteri yang berbahaya (bakteri pathogen) dan detergen (menaikkan pH air sehingga mematikan makhluk mikroorganisme air). 
  Limbah pertanian berasal dari pemakaian pupuk, pestisida, dan herbisida pada tanaman. Asal-usul lainnya dapat saja dari kotoran hewan, sisa makanan ternak, dan poultry. Bahan pestisda sulit terurai oleh makhluk mikroorganisme di dalam air. Andaipun bisa biasanya memakan waktu yang cukup lama hingga beberapa tahun. 
  Adapun sedimen atau lumpur yang terbawa dari erosi tanah mengakibatkan keurnian air berkurang dan air menjadi keruh. Kekeruhan inilah yang menghalangi masuknya sinar matahari kedalam air. Akibatnya, proses fotosintesis pada tumbuhan air tidak dapat berlangsung. Karbondioksida menjadi meningkat dan kadar oksigen menurun yang berakibat pada kehidupan hewan air.
  Penelitian Badan Pengelolaan Lingkungan Hidup Daerah (BPLHD) Provinsi DKI Jakarta menunjukan sumber air tanah yang masih banyak diandalkan sebagai sumber airv minum masyarakat sebagian besar sudah tercemar. 
  Sampel pengambilan air tanah diseluruh wilayah Jakarta diambil pada 75 titik pada tahun 2004 menunjukkan hanya 18% yang dinyatakan baik. Pada tahun 2005, jumlah yang dinyatakan baik menurun menjadi hanya 16% sisanya dalam kondisi tercemar ringan 33%, teremar sedang 35%, dan tercemar berat 16%. 
  Menurut BPLHD DKI Jakarta, sumber pencemaran terbesar adalah limbah domestik dari kegiatan rumah tangga. Bahkan, untuk pencemaran air permukaan, limbah domestik menyumbang hingga 70% zat pencemar dibandingkan limbah kegiatan lain.
  Komponen pencemar terbesar adalah bakteri coliform, terutama Escherichia coli yang berasal dari kotoran manusia dan binatang. Sisanya adalah limbah detergen.
  
Sumber : 
Rahman, Afif.2006.Pendidikan Lingkungan Kehidupan Jakarta.Jakarta: Akar Penerbit