Kamis, 29 September 2011

kegiatan sehari-hari Q

yah, udah dua minggu ini aku melakukan kegiatan rutin yang sama (monoton, gitu kata orang)
pagi, bangun jam 6 untuk mematikan alarm hape, kemudian tidur lagi, terus jam 7 bangun untuk mematikan alarm hape lagi, terus minum air yang banyak, lalu melanjutkan tidur, biasanya gak sampe 10 menit, perut pasti udah mengeluh, harus melakukan panggilan alam rutin yang datang, hehehe… mau gak mau pasti bangun deh… rutinitas pagi ke kamar kecil sambil bawa hape, buka facebook, terus mandi kalo airnya gak dingin, kalo dingin yah cuman cuci muka aja deh… abis gitu manesin air buat seduh susu, selese air panes, nonton kartun pagi ‘Chalkzone’ dan ‘Sponge Bob’ di tipi.
kartun selese baru mandi danngumpul deh ama kwa2 satu kos.
Siangan dikit, jam 11 atau jam 12, saat nya makan sing deh.,abis tu baca2 buku gk lama ketiduran ampe 
Sore jam 4 atau jam 5 ngitu, langsung nonton tipi bentar, sambil tidur-tiduran, kalo udah ilang malesnya baru  mandi, abis tu baca bukui lg lw dah jam setengah 6 br deh berangkat kul.

Selasa, 27 September 2011

Pengertian Client Server serta model-model database

Pengertian Client-Server : Client/Server dapat diartikan sebagai kemampuan komputer untuk meminta layanan request data kepada komputer lain.  Setiap instance dari komputer yang meminta layanan disebut sebagai client, sedangkan setiap instance yang menyediakan layanan disebut sebagai server.Data yang diminta oleh client dapat diambil dari database pada sisi server yang sering disebut database server, seperi misalnya MySQL, PostgreSQL, Oracle, atau SQL Server.

Keuntungan dari client server ini lebih cocok diterapkan untuk bisnis kecil.
Server database berisi mesin database, termasuk tabel, prosedur tersimpan, dan trigger (yang juga berisi aturan bisnis). Dalam system client/server, sebagian besar logika bisnis biasanya diterapkan dalam database. Server database manangani :
§ Manajemen data
§ Keamanan
§ Query, trigger, prosedur tersimpan
§ Penangan kesalahan
Arsitektur client/server merupakan sebuah langkah maju karena mengurangi beban pemrosesan dari komputer sentral ke computer client. Ini berarti semakin banyak user bertambah pada aplikasi client/server, kinerja server file tidak akan menurun dengan cepat. Dengan client/server user dair berbagai lokasi dapat mengakses data yang sama dengan sedikit beban pada sebuah mesin tunggal.

Model-Model Database

Database Management System (DBMS) atau sistem manajemen database dibagi menjadi lima model. Model yang lebih lama diperkenalkan pada tahun 1960-an,yang bersifat hierarkis dan jaringan. Model yang lebih baru bersifat relasional, berorientasi objek, dan multidimensional.
Database Hierarkis
Pada database Hierarkis, field atau record diatur dalam kelompok-kelompok yang berhubungan, menyerupai diagram pohon, dengan record child (level lebih rendah) berada di bawah record parent (level yang lebih tinggi). Database hierarkis merupakan model tertua dan paling sederhana dari kelima model database. Dalam model database ini mengakses atau mengupdate data bisa berlangsung sangat cepat karena hubungan-hubungan sudah ditentukan. Tetapi, karena struktur harus didefinisikan lebih dahulu, maka hal ini cukup riskan. Lagipula menambahkan field baru ke sebuah record database membuat semua database harus didefinisikan kembali. Karena itulah diperlukan model database yang baru untuk menunjukkan masalah pengulangan data dan hubungan data yang kompleks.

Database Jaringan
Konsep database jaringan mirip dengan database hierarkis tetapi setiap record child dapat memiliki lebih dari satu record parent. Selanjutnya setiap record child dapat dimiliki oleh lebih dari satu record parent. Database jaringan pada dasarnya digunakan dengan mainframe, lebih fleksibel disbanding database hierarkis karena ada hubungan yang berbeda antarcabang data. Akan tetapi strukturnya masih harus didefinisikan lebih dahulu. Pengguna harus sudah terbiasa dengan struktur database. Lagipula jumlah hubungan antar-record juga terbatas, dan untuk menguji sebuah field seseorang harus mendapatkan kembali semua record.
Database Relasional
Database Relasional bekerja dengan menghubungkan data pada file-file yang berbeda dengan menggunakan sebuah kunci atau elemen data yang umum.
Cara kerja database relasional: Elemen-elemen data disimpan dalam tabel lain yang membentuk baris dan kolom. Dalam model database ini data diatur secara logis, yakni berdasarkan isi. Masing-masing record dalam tabel diidentifikasi oleh sebuah field – kunci primer – yang berisi sebuah nilai unik. Karena itulah data dalam database relasional dapat muncul dengan cara yang berbeda dari cara ia disimpan secara fisik pada komputer. Pengguna tidak boleh mengetahui lokasi fisik sebuah record untuk mendapatkan kembali datanya.
Database Berorientasi Objek
Model ini menggunakan objek sebagai perangkat lunak yang ditulis dalam potongan kecil yang dapat digunakan kembali sebagai elemen dalam file database. Database berorientasi objek adalah sebuah database multimedia yang bisa menyimpan lebih banyak tipe data dibanding database relasional. Salah satu model database berorientasi objek adalah database hypertext atau database web, yang memuat teks dan dihubungkan ke dokumen lain.  Model lainnya adalah database hypermedia, yang memuat link dan juga grafis, suara, dan video.
Contoh: database DB2, Cloudscape, Oracle9i dan sebagainya
Database Multidimensial
Database Multidimensial (MDA) memodelkan data sebagai fakta, dimensi, atau numerik untuk menganalisis data dalam jumlah besar, tujuannya adalah untuk mengambil keputusan. Database Multidimensial menggunakan bentuk kubus untuk merepresentasikan dimensi-dimensi data yang tersedia bagi seorang pengguna, maksimal empat dimensi.
Contoh: InterSystem Cache, ContourCube, dan Cognoa PowerPlay

Client/Server

Dengan makin berkembangnya teknologi jaringan komputer, sekarang ini ada kecenderungan sebuah sistem yang menggunakan jaringan untuk saling berhubungan. Dalam jaringan tersebut, biasanya terdapat sebuah komputer yang disebut server, dan beberapa komputer yang disebut client. Server adalah komputer yang dapat memberikan service ke server, sedangkan client adalah komputer yang mengakses beberapa service yang ada di client. Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan menggunakan Socket.
  1. Karakteristik Server
    1. Pasif
    2. Menunggu request
    3. Menerima request, memproses mereka dan mengirimkan balasan berupa service
  2. Karakteristik Client
    1. Aktif
    2. Mengirim request
    3. Menunggu dan menerima balasan dari server
Socket adalah sebuah endpoint untuk komunikasi didalam jaringan. Sepasang proses atau thread berkomunikasi dengan membangun sepasang socket, yang masing-masing proses memilikinya. Socket dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu. Secara umum socket digunakan dalam client/server system, dimana sebuah server akan menunggu client pada port tertentu. Begitu ada client yang menghubungi server maka server akan menyetujui komunikasi dengan client melalui socket yang dibangun.
Sebagai contoh sebuah program web browser pada host x (IP 146.86.5.4) ingin berkomunikasi dengan web server (IP 152.118.25.15) yang sedang menunggu pada port 80. Host x akan menunjuk sebuah port. Dalam hal ini port yang digunakan ialah port 1655. Sehingga terjadi sebuah hubungan dengan sepasang socket (146.86.5.4:1655) dengan (152.118.25.15:80)

Jumat, 23 September 2011

PEMROGRAMAN JARINGAN – MODUL 21

By Antonius Rachmat C, S.Kom

Pemrograman Jaringan modern sekarang ini berbasis pada model client/server. Pada sebagian besar kasus, server biasanya mengirim data, sedangkan client menerimanya.  Pembahasan tentang model Client/Server tidak akan lepas dari konsep sistem terdistribusi.  Sebab client/server merupakan model dasar dari sistem terdistribusi. 

Pengertian “Sistem Terdistribusi”
"A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing."  [Coulouris]

Dengan pembagian fungsi untuk tiap komponen dalam suatu sistem, manfaatnya:
- Berbagi resource
- Berbagi beban kerja
- Tidak membedakan platform
- Meningkatkan efisiensi
Ada dua organisasi yang menstandarisasi pemrograman jaringan dan protokol di internet, yaitu :
- Internet Engineering Task Force (IETF) : TCP/IP, MIME, dan SMTP
- World Wide Web Consortium (W3C) : HTTP, HTML, XHTML, MathML, dan XML
Dokumen-dokument IETF dipublikasikan sebagai Internet drafts dan requests for comments (RFCs). RFCs and Internet drafts berasal dari informational dokumen dari keinginan umum sampai spesifikasi detail dari Internet protokol seperti HTTP.
Dokumen RFCs dipublikasikan jika disetujui oleh Internet Engineering Steering Group (IESG) dari IETF. Semua dokumen standar IETF yang disetujui adalah RFCs, tetapi tidak semua RFCs adalah standar IETF. RFCs banyak terdapat di Internet, misalnya http://www.faqs.org/rfc/ dan http://www.ietf.org/rfc.html
RFC
Title
Maturity level
Requirement level
Description
RFC 791
RFC 919
RFC 922
RFC 950
STD 5
Internet Protocol
Standard
Required
The IP internet layer protocol.
RFC 768
STD 6
User Datagram Protocol
Standard
Recommended
An unreliable, connectionless transport layer protocol.
RFC 793
STD 7
Transmission Control Protocol
Standard
Recommended
A reliable, connection-oriented, streaming transport layer protocol.
RFC
2821
Simple Mail Transfer Protocol
Proposed standard
Recommended
The application layer protocol by which one host transfers email to another host. This standard doesn't say anything about email user interfaces; it covers the mechanism for passing email from one computer to another.
RFC 822
STD 11
Format of Electronic Mail Messages
Standard
Recommended
The basic syntax for ASCII text email messages. MIME is designed to extend this to support binary data while ensuring that the messages transferred still conform to this standard.
RFC 854
RFC 855
STD 8
Telnet Protocol
Standard
Recommended
An application-layer remote login service for command-line environments based around an abstract network virtual terminal (NVT) and TCP.
RFC 959
STD 9
File Transfer Protocol
Standard
Recommended
An optionally authenticated, two-socket application layer protocol for file transfer that uses TCP.
RFC 977
Network News Transfer Protocol
Proposed standard
Elective
The application layer protocol by which Usenet news is transferred from machine to machine over TCP; used by both news clients talking to news servers and news servers talking to each other.
RFC
1034
RFC 1035
STD 13
Domain Name System
Standard
Recommended
The collection of distributed software by which hostnames that human beings can remember, like www.oreilly.com, are translated into numbers that computers can understand, like 198.112.208.11. This STD defines how domain name servers on different hosts communicate with each other using UDP.
RFC 1738
Uniform Resource Locators
Proposed standard
Elective
Full URLs like http://www.amnesty.org/ and ftp://ftp.ibiblio.org/pub/multimedia/chinese-music/Dream_Of_Red_Mansion/HLM04 .Handkerchief.au.
RFC 1808
Relative Uniform Resource Locators
Proposed standard
Elective
Partial URLs like /javafaq/books/ and ../examples/07/index.html used as values of the HREF attribute of an HTML A element.
RFC 1939
STD 53
Post Office Protocol, Version 3
Standard
Elective
An application-layer protocol used by sporadically connected email clients such as Eudora to retrieve mail from a server over TCP.
RFC 1945
Hypertext Transfer Protocol (HTTP 1.0)
Informational
N/A
Version 1.0 of the application layer protocol used by web browsers talking to web servers over TCP; developed by the W3C rather than the IETF.
RFC
2045
RFC 2046
RFC 2047
Multipurpose Internet Mail Extensions
Draft standard
Elective
A means of encoding binary data and non-ASCII text for transmission through Internet email and other ASCII-oriented protocols.
RFC 2068
Hypertext Transfer Protocol (HTTP 1.1)
Proposed standard
Elective
Version 1.1 of the application layer protocol used by web browsers talking to web servers over TCP.
RFC 2373
IP Version 6 Addressing Architecture
Proposed standard
Elective
The format and meaning of IPv6 addresses.
RFC 2396
Uniform Resource Identifiers (URI): Generic Syntax
Proposed standard
Elective
Similar to URLs but cut a broader path. For instance, ISBN numbers may be URIs even if the book cannot be retrieved over the Internet.
RFC 3501
Internet Message Access Protocol Version 4rev1
Proposed standard
Elective
A protocol for remotely accessing a mailbox stored on a server including downloading messages, deleting messages, and moving messages into and out of different folders.

Sedangkan W3C hanya boleh terdiri dari perusahaan-perusahaan saja.

ARSITEKTUR CLIENT-SERVER
Client/Server dapat diartikan sebagai kemampuan komputer untuk meminta layanan request data kepada komputer lain.  Komputer yang meminta layanan disebut sebagai client, sedangkan yang menyediakan layanan disebut sebagai server. 

Pengertian lain, client melakukan permintaan suatu informasi atau mengirim perintah ke server. Server akan menerima permintaan dan perintah client. Kemudian server akan memproses memproses berdasarkan permintaan tersebut, dan mengembalikan kepada client sebagai hasil pemrosesan yang sudah dilakukan.
Data Request
 

Arsitektur Model Client/Server
Service Request adalah permintaan dari client baik berupa permintaan data  maupun perintah ke server. 
Service Response berupa balasan dari server atas permintaan dari client berupa hasil proses. 
Data yang diminta oleh client dapat diambil dari database pada sisi server yang sering disebut database server, seperi misalnya MySQL, PostgreSQL, Oracle, atau SQL Server.

Karakteristik Client-Server:
v  Client dan Server merupakan item proses (logika) terpisah yang bekerja sama pada suatu jaringan komputer untuk mengerjakan suatu tugas
v  Service : Menyediakan layanan terpisah yang berbeda
v  Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource
v  Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many. Client memulai komunikasi dengan mengirim request ke server. Server menunggu permintaan dari client. Kondisi tersebut juga memungkinkan komunikasi callback.
v  Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.
v  Mix-and-match : tidak tergantung pada platform
v  Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message.
v  Encapsulation of service : message memberitahu server apa yang akan dikerjakan
v  Scalability : sistem C/S dapat dimekarkan baik vertikal maupun horisontal
v  Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri

MIDDLEWARE
Software yang berfungsi sebagai lapisan konversi atau penerjemah. Juga sebagai konsolidator dan integrator. Middleware saat ini dikembangkan untuk memungkinkan satu aplikasi berkomunikasi dengan lainnya walaupun berjalan pada platform yang berbeda.

ARSITEKTUR SOFTWARE
-         Data, menyediakan struktur dan fungsi untuk manipulasi informasi, yang terdiri dari banyak objek data. Sebagai contoh : relational Database, file grafik, file suara atau multimedia data stream
-         Processing, terfokus pada pemrosesan objek data, yang biasanya disebut sebagai middleware.
-    Presentation, terfokus untuk membuat data tersedia untuk user dan menangani interaksi dengan user. Ada dua level :
Ø User interface
Ø Presentation management, menyediakan operasi dasar untuk membangun dan mengontrol user interface di bawah kontrol aplikasi. Meliputi : layanan tampilan, kontrol dialog dan API. Contoh : X-Windows, MS Windows

KONSEP DASAR WEB
Hypertext Transfer Protocol (HTTP) adalah standar untuk mendefiniskan bagaimana client berkomunikasi dengan server dan bagaimana data ditransmisikan dari server kembali ke client.
1.     URI (Uniform Resource Identifier)
Uniform Resource Identifier (URI) adalah kumpulan karakter dalam sintaks tertentu yang mengidentifikasi sebuah resource. Resource bisa merupakan file di server tapi juga bisa merupakan email address, berita, buku, host internet, dan lain-lain.
Sintaks : scheme:scheme-specific-part
scheme bisa berupa : data, file, http, ftp, gopher, mailto, news, telnet.
scheme-specific-part bisa berupa : //authority/path?query
URI ada 2 yaitu :
-         URN (Uniform Resource Name)
Tujuan URN adalah menghandle resource yang dimirror pada banyak tempat yang berbeda atau telah dipindah dari satu tempat ke tempat lain. URN mengidentifikasi resource itu sendiri, bukan tempat resourcenya. Jika terdapat sebuah URN, sebuah program FTP harus mengambil filenya dari mirror terdekat.

Sebuah URN memiliki format sebagai berikut urn:namespace:resource_name. Sebuah namespace adalah nama dari koleksi dari resource. Sebuah resource_name adalah nama dari resource dari sebuah koleksi. Contohnya, URN dari urn:ISBN:1565924851 mengindentifikasikan sebuah ISBN dengan identifikasi 1565924851. Dan mengacu pada sebuah buku misalnya bernama : Java Network Programming. Masing-masing sintaks tergantung pada resource_name.ISBN namespace terdiri dari 10 atau 13 karakter, semuanya adalah digit—dengan sebuah aturan bahawa karakter terakhir berupa huruf : X (baik huruf besar / kecil).
-         URL (Uniform Resource Locator) : penunjuk ke suatu resource di Internet pada lokasi tertentu, misal: http://www.oreilly.com/catalog/javanp3/
URL ada dua macam :
Ø Absolute URL : contoh <img src=”http://www.ukdw.ac.id/ukdw.jpg”>
Ø Relative URL : contoh <img src=”images/ukdw.gif”>
2.     HTML, SGML, dan XML
HTML digunakan untuk memformat dokumen web. HTML digunakan untuk presentasi data dan menyediakan linking antar halaman.

SGML adalah ide untuk mendeskripsikan sematik teks daripada penampilannya yang disebut juga Standard Generalized Markup Language. SGML ditemukan pada pertengahan tahun 1970an oleh Charles Goldfarb, Edward Mosher, dan Raymond Lorie di IBM. SGML merupakan standar International Standards Organization (ISO), yaitu ISO 8879:1986.

XML adalah suatu bahasa Markup, yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti. XML menyediakan format untuk mendeskripsikan data terstruktur.  XML menyebabkan isi data mudah dimengerti dan memungkinkan pendefinisian kumpulan tag yang tidak terbatas.
3.     MIME (Multipurpose Internet Mail Extensions), RFC 2045.
MIME adalah standar untuk mengirim multipart, multimedia data melalui email di Internet.  Data bisa berupa data biner, ASCII atau bukan ASCII. MIME digunakan untuk mendeskripsikan isi file sehingga software client dapat mengetahui perbedaan antara data.
Contoh : text/html, text/css, image/gif, video/mpeg, application/zip.

RETHINGKING JAVA
-    Siapkan java sdk yang bisa didownload dari http://java.sun.com
-    Editor java bisa menggunakan teks editor apa saja: notepad? edit plus? Kawa? Netbeans? Jbuilder? JCreator?
-    Prinsip-prinsip dasar :
o   Satu buah file java harus berekstensi .java, satu file boleh terdiri dari banyak kelas, namun hanya bisa terdiri dari satu public class.
o   Nama file java harus sama dengan nama public class nya.  Misal nama public class adalah : public class HelloWorld, berarti nama filenya adalah HelloWorld.java
o   Ingat di Java case-sensitive, termasuk nama file dan folder nya.  Java sangat memperhatikan susunan folder/direktori, terutama untuk sebuah package.
o   Satu buah class sederhana minimal ada kata kunci class nama_class.  Sebuah class boleh tidak memiliki atribut dan method.  Sebuah aplikasi java harus berupa class, dan jika di compile dengan javac akan menghasilkan file berekstensi .class untuk masing-masing class yang ada.
o   Sebuah class hanya dapat dieksekusi jika di dalamnya ada method public static void main.  Jika tidak ada method main maka class tersebut hanya bisa dicompile dan tidak bisa dieksekusi.
o   Sintaks java rata-rata mirip dengan bahasa C.
-         Terdapat beberapa konvensi  (aturan) dalam java:
o   nama variabel primitif biasanya ditulis dalam huruf kecil. Contoh : int
o   nama variabel berupa Object / Class ditulis dimulai huruf besar. Contoh : String, Integer, Byte, Boolean.
o   nama method untuk mengambil data bisanya diberi awalan getNamaMethod(), sedangkan method untuk mengeset data biasanya diberi awalan setNamaMethod(tipedata variabelset).  Contoh:
§  Public void setNama(String nama);
§  Public String getNama()
o   nama variabel biasanya dimulai dengan huruf kecil dan jika lebih dari satu kata, disambung dan ditulis dengan huruf pertama huruf besar.  Contoh: int angkaRandom = 0, String namaMahasiswa
-         Ada 3 jenis modifier variabel dalam Java:
Ø private : hanya dapat diakses oleh kelas itu sendiri
Ø protected : hanya dapat diakses oleh kelas itu dan kelas turunannya atau masih dalam satu package.
Ø public : dapat diakses oleh seluruh kelas yang ada.
-         Java mengenal operasi control flow :
Ø Percabangan : if-else, switch-case
Ø Perulangan : for, while-do, do-while
Ø Penanganan Exception : try-catch-finally, throws

KONSEP OOP
*                Class : prototipe yang mendefinisikan atribut dan method secara umum.
*                Object : segala sesuatu yang dapat dilihat dan dirasa.  Sebuah instansiasi dari Class.
*                Object dapat memiliki atribut dan method.  Atribut / variabel / properties adalah apa yang dimiliki oleh sebuah object.  Sedangkan method / behaviour / event adalah apa yang dapat dilakukan oleh sebuah object.
*                Enkapsulasi : pembungkusan atribut dan method pada suatu object.  Manfaatnya adalah: modularitas dan information hiding.
*                Message : mekanisme yang digunakan oleh object java untuk berkomunikasi dengan object lain.  Sehingga dimungkinkan terjadi aplikasi terdistribusi dan berinteraksi melalui jaringan.  Contoh : Java-CORBA dan Java-RMI.
*                Inheritance : pewarisan atribut dan method dari class induk ke class anaknya, yang mengextends padanya.  Superclass adalah class induk, subclass adalah class anak.  Subclass akan mewarisi seluruh sifat super class, namun juga memungkinkan dapat juga memiliki atribut dan method yang lain, yang membedakannya dengan induknya.
*                Abstract : kelas yang hanya terdiri dari method yang abstract yang digunakan untuk mendukung inheritance.
*                Interface : kelas yang hanya terdiri dari kumpulan method-method saja tanpa implementasi coding.