Minggu, 29 November 2015

ListView Pembayaran Tagihan PDAM

















Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LV.Columns.Add("Kode", 70, HorizontalAlignment.Center)
        LV.Columns.Add("Nama", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Tipe", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Biaya", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Jumah Pemakaian", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Total Tagihan", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Pajak", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Pembayaran", 70, HorizontalAlignment.Left)
        LV.Columns.Add("Harga", 70, HorizontalAlignment.Left)
        LV.View = View.Details
        LV.GridLines = True
        LV.FullRowSelect = True

        Kode.Items.Add("001")
        Kode.Items.Add("002")
        Kode.Items.Add("003")
        Kode.Items.Add("004")

        Tipe.Items.Add("TOKO")
        Tipe.Items.Add("RUMAH")
        Tipe.Items.Add("PABRIK")
        Tipe.Items.Add("SWALAYAN")

        TotalT.Enabled = False
        Pajak.Enabled = False
        Pembayaran.Enabled = False
        Harga.Enabled = False    
    End Sub

    Private Sub btnbatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbatal.Click
        Kode.Text = ""
        Tipe.Text = ""
        Nama.Text = ""
        Biaya.Text = ""
        JumlahP.Text = ""
        TotalT.Text = ""
        Pajak.Text = ""
        Pembayaran.Text = ""
        Harga.Text = ""
    End Sub

    Private Sub btnHapusList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapusList.Click
        LV.Items.Clear()
    End Sub

    Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
        End
    End Sub

    Private Sub btnproses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnproses.Click
        TotalT.Text = Val(Biaya.Text) + Val(Harga.Text * JumlahP.Text)
        Pajak.Text = 0.01 * TotalT.Text
        Pembayaran.Text = Val(TotalT.Text) + Val(Pajak.Text)


        Dim lst As New ListViewItem
        lst.Text = Kode.Text
        lst.SubItems.Add(Nama.Text)
        lst.SubItems.Add(Tipe.Text)
        lst.SubItems.Add(Harga.Text)
        lst.SubItems.Add(Biaya.Text)
        lst.SubItems.Add(JumlahP.Text)
        lst.SubItems.Add(TotalT.Text)
        lst.SubItems.Add(Pajak.Text)
        lst.SubItems.Add(Pembayaran.Text)
        LV.Items.Add(lst)      
    End Sub

    Private Sub Kode_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Kode.SelectedIndexChanged

        Select Case Kode.Text
            Case "001" : Nama.Text = "Suha"
            Case "002" : Nama.Text = "Alvi"
            Case "003" : Nama.Text = "Vita"
            Case "004" : Nama.Text = "Aldyan"
            Case Else : Nama.Text = ""
        End Select
    End Sub

    Private Sub Tipe_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tipe.SelectedIndexChanged
        Select Case Tipe.Text
            Case "TOKO"
                Biaya.Text = 20000
                Harga.Text = 300
            Case "RUMAH"
                Biaya.Text = 25000
                Harga.Text = 100
            Case "SWALAYAN"
                Biaya.Text = 10000
                Harga.Text = 200
            Case "PABRIK"
                Biaya.Text = 300000
                Harga.Text = 500
        End Select
    End Sub
End Class


Demikianlah postingan saya Nama: Suha Alvita NPM:14110336
Selamat Belajar Pemrograman VB NET

Senin, 22 Juni 2015

Pemrograman Bahasa Assembly (Assembler)

Bahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi  yang menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode “10110011” yang dalam bahasa assembly dapat dibuat dalam instruksi mnemonik ADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun suatu lokasi memori yang menyimpan data yang bersangkutan. Bahasa assembly sering juga disebut kode sumber atau kode simbolik yang tidak dapat dijalankan oleh prosesor, sedangkan assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly ke program bahasa mesin. bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Program bahasa mesin sering disebut sebagai kode objek.
Baris-baris program yang mengandung instruksi mesin atau pengarah assembler harus mengikuti aturan program assembler ASM51. Masing-masing baris atas beberapa field yang dipisahkan dengan spasi atau tabulasi adalah bagian label, bagian mnemonic, bagian operand yang bisa lebih dari satu bagian komentar dan diakhiri dengan END.
Bagian – Bagian Dari Program Assembler
Berikut ini adalah bagian – bagian dari rogram assembler yaitu: 
1.      Label
            Label merupakan suatu simbol yang didefinisikan sendiri oleh pembuat program untuk menandai lokasi memori pada area program. Simbol dan label adalah dua hal yang berbeda. Simbol tidak menggunakan titik dua, sedangkan label harus diakhiri dengan titik dua.
                  Contoh :
                  PAR                      EQU 500        ; “PAR” Menunjukan suatu simbol
                                                                       ; dari nilai 500
                  MULAI:
                  MOV                      A, #0FFh       ; pada label; “Mulai” nilai 0FFh
                                                                        ; dipindahkan ke Akumulator
Dalam satu baris hanya ada satu label, pada umumnya Assembler membatasi jumlah karakter yang bisa digunakan hingga 31 karakter.

2.      Mnenonik
            Mnemonic instruksi atau pengarah Assembler dimasukan dalam “Mnemonic field” yang mengikuti “label mnemonic”. Mnemonic instruksi misalnya ADD, MOV, INC dan lain-lain.Sedangkan pengarah Assembler misalnya ORG, EQU, DB dan lain-lain.

3.      Operand
            Operand ditulis setelah mnemonic, bisa berupa alamat atau data yang digunakan instruksi yang bersangkutan.
          Contoh :
          MOV                      A, #20h         ; A dan #20h adalah operand
          LAGI:
          JNB                        LAGI            ; LAGI adalah operand 

4.      Komentar
           Komentar harus diawali dengan titik koma. Sub rutin dari bagian besar program yang mengerjakan suatu operasi biasanya diawali dengan blok komentar yang menjelaskan fungsi sub rutin atau bagian besar program tersebut.

5.      End
            Petunjuk END merupakan kode perintah terakhir yang menunjukan batas akhir dari proses Assembly.


Instruksi yang sering digunakan dalam pembuatan program yaitu :
a.   Instruksi Aritmatik
               Instruksi aritmatik selalu melibatkan akumulator dan ada juga beberapa instruksi yang melibatkan register lain.
Berikut ini contoh instruksi–instruksi arimatika yaitu:
Tabel 2.4 Instruksi-instruksi Aritmatik
Instruksi
Keterangan
Contoh
ADD A,Rn Menambah isi register Rn dengan isi akumulator lalu disimpan di akumulator ADD A,R1
ADD A, direct Menambah isi direct dengan akumulator, hasilnya disimpan di akumulator ADD A, 30H
ADD A, #data Menambahkan immediate data ke akumulator ADD A, #20H
ADD A, @Rn Menambahkan isi dari alamat yang ditunjuk Rn dengan akumulator ADD A, @R1
ADDC A, #data Menambahkan immediate data ke akumulator dengan carry ADDC A, #20H
SUBB A, Rn Kurangkan isi register Rn dari akumulator SUBB A, R1
INC A Tambah isi akumulator dengan 1 INC A
DEC A Kurangkan isi akumulator denga 1 DEC A
MUL AB Kalikan isi A dengan isi B, low-byte disimpan pada akumulator, dan high byte pada B MUL AB
DIV AB Bagi isi A dengan isi B. Akumulator menerima hasil integer pembagian dan B menerima integer sisanya. DIV AB

b.      Instruksi Logika
               Instruksi Logika ini dipakai untuk melakukan operasi logika, yaitu operasi AND (instruksi ANL), operasi OR (instruksi ORL), operasi Exclusive-OR (instruksi XRL), operasi clear (instruksi CLR), instruksi komplemen (instruksi CPL), operasi penggeseran kanan atau kiri (instruksi RR, RRC, RL dan RLC) serta operasi penukaran data (instruksi SWAP). Data yang dipakai dalam operasi  ini biasanya berupa data yang berada dalam akumulator atau data yang berada dalam memori data.

c.   Instruksi Pemindahan Data
Instruksi – instruksi pemindahan data adalah :
Tabel 2.5 Instruksi – instruksi Perpindahan Data
Instuksi
Keterangan
Contoh
MOV A, Rn Memindahkan isi register Rn ke akumulator MOV A, R0
MOV A,direct Memindahkan isi direct byte ke akumulator MOV A, 30h
MOV A , #data Mengisi akumulator dengan nilai data MOV A,#20h
MOV A, @Rn Mengisi akumulator dengan isi dari alamat yang ditunjuk oleh Rn MOV A, @R0
  


Mode – Mode Pengalamatan
1.      Mode Pengalamatan Langsung
            Dalam pengalamat langsung nilai yang akan disimpan dalam suatu memori diperoleh secara langsung dengan mengambil dari lokasi memori yang lain.
            Contoh :
     MOV A,30H         ; isi akumulator dengan bilangan 30 heksadesimal

2.      Mode Pengalamatan Tak Langsung
            Dalam pengalamatan tak langsung, instruksi menentukan  suatu register yang digunakan untuk menyimpan alamat operan
            Contoh :
ADD A,R         ; Tambahkan isi RAM yang lokasinya ditunjukan oleh register R1 ke akumulator.
DEC @R1        ; Kurangi satu isi RAM yang  alamatnya ditunjukan                  oleh register R1.

3.      Mode Pengalamatan Segera
            Cara ini menggunakan konstanta.
Contoh :
            MOV A,#20H        ; isi akumulator dengan bilangan 20 heksadesimal
Data konstanta merupakan data yang menyatu dengan instruksi, contoh intruksi diatas mempunyai arti bahwa data konstantanya, yaitu 20H, (sebagai data konstanta harus diawali dengan ’#’ dan tanda H untuk menyatakn format bilangan heksadesimal) disalin ke Akumulator (A).

4.      Mode Pengalamatan Data
            Pengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan alamat data yang akan diisi atau yang akan dipindahkan.
            Contoh :
MOV P1,A            ; isi P1 dari nilai akumulator.

5.      Mode Pengalamatan Bit
            Pengalamatan bit adalah penunjukkan menggunakan simbol titik (.) yang menunjuk alamat lokasi bit, baik dalam RAM internal atau perangkat keras.
            Contoh :
            SETB P1.7            ; set bit port 1.7 high ( pot 1.7 diberi nilai logika 1)

Pemrograman SQL

SQL
SQL adalah bahasa standard untuk melakukan berbagai operasi data pada database, diantaranya mendefinisikan tabel, menampilkan data dengan kriteria tertentu, menambahkan data hingga menghapus data tertentu. Penggunaan SQL pada beberapa bahasa pemrograman secara umum relatif sama.
Bagi seorang programmer, menguasai SQL adalah sebuah kewajiban, karena program jaman sekarang pasti menggunakan database untuk menyimpan datanya. Bagi saya sendiri yang bisa menggunakan program PHP, biasa menggunakan database mysql dan oracle.
Jadi untuk membuat sebuah aplikasi saya menggunakan program PHP dan database. SQL (kependekan dari: Structured Query Language) adalah bahasa standar yang digunakan untuk mengakses sebuah basis data relasional, termasuk Oracle. SQL menyediakan sekumpulan statemen untuk melakukan proses penyimpanan, modifikasi, dan pengambilan dat di dalam database. Sedangkan PL/SQL (kependekan dari: Procedural Language extensions to SQL) merupakan teknologi ambahan yang hanya terdapat di dalam Oracle dan digunakan untuk meningkatkan kapabilitas SQL agar dapat diperlakukan sebagaimana layaknya bahasa prosedural. Dengan PL/SQL, kita diizinkan untuk membuat prosedur, fungsi, trigger, dan konstruksi standar prosedural lainnya sehingga pengolahan data dapat dilakukan secara dinamis.

Sejarah SQL
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language). Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R. Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalammanajemen basis data.

Standarisasi
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.



Pemakaian Dasar
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap system manajemen basis data (SMBD)[1], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.

Data Definition Language (DDL)
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objekobjek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

CREATE
CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:

CREATE DATABASE nama_basis_data
CREATE DATABASE membuat sebuah basis data baru.
CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk

CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
atau
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [,
nama_field2 tipe_data,
...]
[CONSTRAINT nama_field constraints]
)
dengan:
nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom. tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
Constraints

Constarints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key). Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:

CREATE TABLE user
(
username VARCHAR(30) CONSTRAINT PRIMARY KEY,
passwd VARCHAR(20) NOT NULL,
tanggal_lahir DATETIME
);
akan membuat tabel user seperti berikut:
username Passwd tanggal_lahir

Data Manipulation Language

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum
dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data

SELECT
SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECTmemiliki bentuk lengkap: ( QUERY BUDIN ) Cilegon.

SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON
kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]

dengan:
• kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
• kondisi_aggregat adalah syarat khusus untuk fungsi aggregat.
Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya. Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut. username password tanggal_lahir jml_transaksi total_transaksi

Aris 6487AD5EF 09-09-1987 6 10.000
Budi 97AD4erD 01-01-1994 0 0
Charlie 548794654 06-12-1965 24 312.150
Daniel FLKH947HF 24-04-1980 3 0
Erik 94RER54 17-08-1945 34 50.000

Contoh 1: Tampilkan seluruh data.
SELECT *
FROM user

Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.
SELECT *
FROM user
WHERE total_transaksi = 0

Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih
dari 1.000.
SELECT username
FROM user
WHERE jml_transakai < 10 AND total_transaksi > 1000

Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.
SELECT SUM(total_transaksi) AS total_nominal_transaksi
FROM user
 

Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
SELECT *
FROM user
ORDER BY jml_transaksi DESC



Fungsi aggregate

Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
• SUM untuk menghitung total nominal data
• COUNT untuk menghitung jumlah kemunculan data
• AVG untuk menghitung rata-rata sekelompok data
• MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.


Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada
bagian HAVING, bukan WHERE. Subquery Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh: Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.

SELECT username
FROM user
WHERE jml_transaksi =
(
SELECT MAX(jml_transaksi)
FROM user
)

INSERT
Untuk menyimpan data dalam tabel dipergunakan sintaks:

INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:

INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');

UPDATE
Untuk mengubah data menggunakan sintaks:

UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]
Contoh:
UPDATE Msuser set password="123456" where username="abc"

DELETE
Untuk menghapus data dipergunakan sintaks:
DELETE FROM [NAMA_TABLE] [KONDISI]
Kategori kluster computer
Kluster komputer terbagi ke dalam beberapa kategori, sebagai berikut:
• Kluster untuk ketersediaan yang tinggi (High-availability clusters)
• Kluster untuk pemerataan beban komputasi (Load-balancing clusters)
• Kluster hanya untuk komputasi (Compute clusters)
• Grid computing

High-availability cluster
High-availability cluster, yang juga sering disebut sebagai Failover Cluster pada umumnya diimplementasikan untuk tujuan meningkatkan ketersediaan layanan yang disediakan oleh kluster tersebut. Elemen kluster akan bekerja dengan memiliki node-node redundan, yang kemudian digunakan untuk menyediakan layanan saat salah satu elemen kluster mengalami kegagalan. Ukuran yang paling umum dari kategori ini adalah dua node, yang merupakan syarat minimum untuk melakukan redundansi. Implementasi kluster jenis ini akan mencoba untuk menggunakan redundansi komponen kluster untuk menghilangkan kegagalan di satu titik (Single Point of Failure). Ada beberapa implementasi komersial dari sistem kluster kategori ini, dalam beberapa sistem operasi. Meski demikian, proyek Linux-HA adalah salah satu paket yang paling umum digunakan untuk sistem operasi GNU/Linux. Dalam keluarga sistem operasi Microsoft Windows NT, sebuah layanan yang disebut dengan Microsoft Cluster Service (MSCS) dapat digunakan untuk menyediakan kluster kategori ini. MSCS ini diperbarui lagi dan telah diintegrasikan dalam Windows 2000 Advanced Server dan Windows 2000 Datacenter Server, dengan nama Microsoft Clustering Service. Dalam Windows Server 2003, Microsoft Clustering Service ini ditingkatkan lagi kinerjanya.


Load balancing cluster
Kluster kategori ini beroperasi dengan mendistribusikan beban pekerjaan secara merata melalui beberapa node yang bekerja di belakang (back-end node). Umumnya kluster ini akan dikonfigurasikan sedmikian rupa dengan beberapa front-end load-balancing redundan. Karena setiap elemen dalam sebuah kluster load-balancing menawarkan layanan penuh, maka dapat dikatakan bahwa komponen kluster tersebut merupakan sebuah kluster aktif/kluster HA aktif, yang bisa menerima semua permintaan yang diajukan oleh klien.

Compute Cluster
Seringnya, penggunaan utama kluster komputer adalah untuk tujuan komputasi, ketimbang penanganan operasi yang berorientasi I/O seperti layanan Web atau basis data. Sebagai contoh, sebuah kluster mungkin mendukung simulasi komputasional untuk perubahan cuaca atau tabrakan kendaraan. Perbedaan utama untuk kategori ini dengan kategori lainnya adalah seberapa eratkah penggabungan antar node-nya. Sebagai contoh, sebuah tugas komputasi mungkin membutuhkan komunikasi yang sering antar node--ini berarti bahwa kluster tersebut menggunakan sebuah jaringan terdedikasi yang sama, yang terletak di lokasi yang sangat berdekatan, dan mungkin juga merupakan node-node yang bersifat homogen. Desain kluster seperti ini, umumnya disebut juga sebagai Beowulf Cluster. Ada juga desain yang lain, yakni saat sebuah tugas komputasi hanya menggunakan satu atau beberapa node saja, dan membutuhkan komunikasi antar-node yang sangat sedikit atau tidak ada sama sekali. Desain kluster ini, sering disebut sebagai "Grid". Beberapa compute cluster yang dihubungkan secara erat yang didesain sedemikian rupa, umumnya disebut dengan "Supercomputing". Beberapa perangkat lunak Middleware seperti MPI atau Parallel Virtual Machine (PVM) mengizinkan program compute clustering agar dapat dijalankan di dalam kluster-kluster tersebut.


Grid computing
Grid pada umumnya adalah compute cluster, tapi difokuskan pada throughput seperti utilitas perhitungan ketimbang menjalankan pekerjaan-pekerjaan yang sangat erat yang biasanya dilakukan oleh Supercomputer. Seringnya, grid memasukkan sekumpulan komputer, yang bias saja didistribusikan secara geografis, dan kadang diurus oleh organisasi yang tidak saling berkaitan. Grid computing dioptimalkan untuk beban pekerjaan yang mencakup banyak pekerjaan independen atau paket-paket pekerjaan, yang tidak harus berbagi data yang sama antar pekerjaan selama proses komputasi dilakukan. Grid bertindak untuk mengatur alokasi pekerjaan kepada komputer-komputer yang akan melakukan tugas tersebut secara independen. Sumber daya, seperti halnya media penyimpanan, mungkin bisa saja digunakan bersama-sama dengan komputer lainnya, tapi hasil sementara dari sebuah tugas tertentu tidak akan mempengaruhi pekerjaan lainnya yang sedang berlangsung dalam komputer lainnya. Sebagai contoh grid yang sangat luas digunakan adalah proyek Folding@home, yang menganalisis data yang akan digunakan oleh para peneliti untuk menemukan obat untuk beberapa penyakit seperti Alzheimer dan juga kanker. Proyek lainnya, adalah SETI@home, yang merupakan proyek grid terdistribusi yang paling besar hingga saat ini. Proyek SETI@home ini menggunakan paling tidak 3 juta komputer rumahan yang berada di dalam komputer rumahan untuk menganalisis data dari teleskop radio observatorium Arecibo (Arecibo Observatory radiotelescope), mencari bukti-bukti keberadaan makhluk luar angkasa. Dalam dua kasus tersebut, tidak ada komunikasi antar node atau media penyimpanan yang digunakan bersamasama. Implementasi Daftar semi-tahunan organisasi TOP500, yang mencantumkan 500 komputer tercepat di dunia umumnya mencakup banyak kluster. TOP500 adalah sebuah kolaborasi antara Universitas Mannheim, Universitas Tennessee, dan National Energy Research Scientific Computing Center di Lawrence Berkeley National Laboratory. Hingga 18 Juni 2008, superkomputer tercepat yang tercatat di dalam TOP500 adalah sistem Roadrunner yang dimiliki oleh Department of Energy Amerika Serikat, yang kinerjanya mencapai 1026 TeraFlops (Triliun Floating Point Operation per Second) dalam benchmark High-Performance LINPACK

Selasa, 19 Mei 2015

BAHASA PEMROGRAMAN PYTHON

Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba. Bahasa pemrograman ini menjadi umum digunakan untuk kalangan engineer seluruh dunia dalam pembuatan perangkat lunaknya, bahkan beberapa perusahaan menggunakan python sebagai pembuat perangkat lunak komersial.
Python merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau mendistribusikannya. Lengkap dengan source codenya, debugger dan profiler, antarmuka yang terkandung di dalamnya untuk pelayanan antarmuka, fungsi sistem, GUI (antarmuka pengguna grafis), dan basis datanya.

1. Sejarah Python
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.
Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan guido pada acara televisi Monty Python’s Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python. 
Aplikasi Bahasa Python
  • Perangkat bantu shell. Tugas-tugas sistem administrator, program baris perintah.
  • Kerja bahasa ekstensi. Antarmuka untuk pustaka C/C++, kustomisasi.
  • Pembuatan prototipe secara cepat/pembuatan sistem aplikasi. Prototipe yang dapat dibuang atau sesuai dengan permintaan.
  • Modul berdasarkan bahasa pemrograman. Pengganti dari penulisan parser khusus.
  • Antarmuka pengguna grafis. Penggunaan GUI API sederhana dan canggih.
  • Pengaksesan basisdata. Penyimpanan objek tetap, antarmuka sistem SQL.
  • Pemrograman terdistribusi. Penggunaan API mekanisme client/server terintegrasi.
  • Skrip internet. Skrip CGI, antarmuka HTTP, Aplet WWW, dan lainnya.

2. Pengertian Bahasa Python
Python adalah bahasa pemrograman simpel bagi yang mulai belajar programming. Banyak alasan untuk menjadikan python patut dipelajari, tapi penjelasan singkat yaitu mudah dibaca dan mudah ditulis. Hal ini karena python memiliki code/script yang tidak terlalu panjang. Python memiliki syntax yang user-friendly, menulis dengan cepat. Python memiliki script yang simple dan mudah diingat, dan banyaknya library yang bisa digunakan untuk berbagai macam aplikasi.
Python adalah bahasa pemrograman berdasarkan interpreter. Interpreter adalah program sistem yang berfungsi sebagai penterjemah kode program yang dibuat oleh programmer ke dalam bahasa mesin. Interpreter mengeksesusi perintah baris demi baris dengan mengikuti logika yang ada. Jadi code akan akan selalu dieksekusi, dan akan terhenti jika terjadi error.

3. Mengapa Menggunakan Python
Sisi utama yang membedakan Python dengan bahasa lain adalah dalam hal aturan penulisan kode program. Bagi para programmer di luar python siap-siap dibingungkan dengan aturan indentasi, tipe data, tuple, dan dictionary. Python memiliki kelebihan tersendiri dibandingkan dengan bahasa lain terutama dalam hal penanganan modul, ini yang membuat beberapa programmer menyukai python. Selain itu python merupakan salah satu produk yang opensource, free, dan multiplatform.
Beberapa fitur yang dimiliki Python adalah:
  • memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul siap pakaiuntuk berbagai keperluan.
  • memiliki tata bahasa yang jernih dan mudah dipelajari.
  • memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
  • berorientasi obyek.memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java).
  • modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat dibangun dengan bahasa Python maupun C/C++.
  • memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan komputer secara langsung.


Kelebihan dan Kekurangan
Kelebihan :
  • Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat.
  • Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.
  • Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode.
  • Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada.
  • Pemrograman berorientasi objek.
  • Pelekatan dan perluasan dalam C.
  • Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular.
  • Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil.
  • Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya.
  • Model objek universal kelas Satu.
  • Konstruksi pada saat aplikasi berjalan.
  • Interaktif, dinamis dan alamiah.
  •  Akses hingga informasi interpreter.
  • Portabilitas secara luas seperti pemrograman antar platform tanpa ports.
  • Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi kode sumber.
  • Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll.

Kekurangan:
  • Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C.
  • Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis.
  • Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
  • Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh.
  • Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.

4.   Platform Python
Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai macam sistem operasi karena sifatnya yang multiplatform. Pada kebanyakan sistem operasi linux, bahasa pemrograman ini menjadi standarisasi untuk disertakan dalam paket distribusinya.
Seperti halnya bahasa pemrograman dinamis, python seringkali digunakan sebagai bahasa skrip. Saat ini kode python dapat dijalankan pada sistem berbasis: Linux/Unix, Windows, Mac OS X, OS/2, Amiga, Palm, Symbian (untuk produk-produk Nokia).
          Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi Open Source maupun General Public License (GPL).

Saat ini Python bisa dijalankan diberbagai sistem operasi, antara lain:
1. Linux/unix.
2. Windows.
3. Mac OS.
4. Java Virtual Machine.
5. OS/2.
6. Amiga.
7. Palm.
8. Symbian.


Senin, 18 Mei 2015

Programming Dengan Python

Python memiliki banyak kesamaan dengan Perl, C dan Java. Namun ada beberapa perbedaan pada syntax yang menjadi perbedaan mendasar.

Seperti pada bahasan sebelumnya, menampilkan kata "hello world" dengan langsung membuatnya dari python prompt. Interpreter akan mengeksekusi parameter dalam source code sampai akhir. Ketika source code berakhir, interpreter tidak akan aktif lagi.

Sekarang menulis python sederhana dalam sebuah skrip dengan menggunakan text editor. Ada banyak sekali text editor yang bisa digunakan untuk menulis python, antara lain :
- nano
- Kwrite
- Kate
- Geany
- Quanta KDE
- Gedit
- dll
Semua file python akan memiliki ekstensi .py. Sebagai contoh tulis source code berikut pada coba.py.


#!/usr/bin/python


print "Hello World";



simpan di sebuah direktori, kemudian melalui shell console buka direktori tersebut. Rubah file tersebut supaya bisa dieksekusi.

$ chmod +x coba.py 
$ python coba.py

tampilannya akan seperti ini :



Penamaan dalam python


Penamaan dalam python digunakan untuk mengidentifikasi variabel, kelas, modul, dll. Penamaan diawali oleh huruf kemudian bisa diikuti oleh angka atau garis bawah. Python tidak akan membaca karakter seperti @, $ atau % dalam penamaan. Python merupakan bahasa pemrograman yang case sensitif.

Berikut adalah kata yang tidak bisa digunakan sebagai penamaan dalam python untuk variabel atau konstan dll :

andexecnot
assertfinallyor
breakforpss
classfromprint
continueglobalraise
defifreturn
delimporttry
elifinwhile
elseiswith
exceptlambdayield

untuk komentar di python menggunakan tanda #

#!/usr/bin/python


print "Hello World" #mulai belajar python

Tipe Data dan Variabel Pada Python

Variabel adalah entitas yang memiliki nilai dan berbeda satu dengan yang lain. Variabel mengalokasikan memori untuk menyimpan nilai. Hal ini berarti ketika Anda membuat variabel, maka Anda memesan beberapa ruang di memori. Variabel bisa digunakan untuk menyimpan bilangan bulat, desimal atau juga karakter.

Pada banyak bahasa pemrograman, ada 2 cara untuk membuat variabel. Cara yang pertama variabel langsung dengan nilai disebut dengan inisialisasi. Sedangkan cara kedua dengan memasukkan nilai pada variabel yang biasa disebut penempatan.

Tipe data di bahasa pemrograman python dibagi menjadi dua kelompok yaitu :
- immutable = tipe data yang tidak bisa diubah (string dan bilangan)
- mutable = tipe data yang bisa diubah (list dan dictionary)

Tidak seperti pemrograman lainnya, variabel pada Python tidak harus dideklarasikan secara eksplisit. Pendeklarasian variabel terjadi secara otomatis ketika kita memberikan sebuah nilai pada suatu variabel. Untuk pemberian nilai, bisa langsung dengan tanda "=". Misalnya :
nama = 'saya'
no = 7



Tipe data number ada 4 macam, yaitu :
1. Plain integer. Integer ini mempunyai range nilai antara -2^32 sampai 2^31 – 1.
2. Long integer. Perhitungan di luar range nilai integer.
3. Floating Point Real Number. Bilangan real.
4. Complex number. Untuk bilangan real dan imajiner.



Penulisan string bisa ditulis dengan cara, antara lain :
1. Diapit dengan tanda petik tunggal '.
2. Diapit dengan tanda petik ganda ".
3. Diapit dengan tiga tanda petik tunggal dan tiga tanda petik ganda ''' atau """.



Menggunakan whitespace character

\ngaris baru
\rmenghapus string sebelumnya
\ttab
\vvertikal tab
\eescape
\fkarakter sesudahnya pada garis baru
\bbackspace
\abell

berikut ini contoh pemanfaatan variabel :
#!/usr/bin/python

nama = raw_input("Siapakah namamu?\n")
print "--------------------------------"
print "hello " + nama +", selamat belajar python"



#!/usr/bin/python

p = input('Masukkan panjang : ')
l = input('Masukkan lebar : ')
luas = p * l
print "maka luas persegi panjang adalah : %d" % luas