Senin, 18 Januari 2010
- Januari 18, 2010
- JuanitaOke
- Pemrograman
- No comments
- Januari 18, 2010
- JuanitaOke
- Pemrograman
- No comments
Software Tutorial, 18 Januari 2010
OOP (Object-Oriented Programming) merupakan salah satu bahasa pemograman yang menggunakan paradigma pemograman berbasiskan objek, dimana setiap data dan method (fungsi) yang memproses data disimpan ke dalam class-class yang dapat dipanggil secara terpisah dan mandiri serta dapat berkomunikasi antar sesamanya. Pada saat bersamaan data dan method mendeskripsikan wilayah dan karakteristik dari suatu objek atau secara sederhananya membungkus semua data dan method (fungsi) ke dalam kelas-kelas atau objek-objek yang dapat menerima pesan, proses data, dan mengirim pesan ke objek lainnya.
Titik tolak dari OOP ialah objek, berbeda dengan pemograman struktural yang dimana titik tolaknya berangkat dari fungsi dan prosedur yang bersifat separately dan using top-down approach walaupun dalam ranah pendekatannya kedua teknologi bahasa pemograman ini melakukan pendekatan bahasa terstruktur. Objek pada OOP ditunjukan berdarkan sifat-sifat (properties) sebagai dasar ke-potensialannya dalam melakukan suatu operasional tertentu. Beberapa karakteristik ciri-ciri pendekatan beroentasi objek antara lain:
· Data-data di bangun menjadi suatu karakter yang mendeskripsikan objek
· Setiap objek yang ada dapat saling diintegralkan
· Pada skala program yang besar dapat dibagi-bagi menjadi beberapa objek penyusunnya
· Pendekatan lebih kepada data daripada prosedur ataupun fungsi
· Dalam melakukan pemecahan masalah tidak melihat bagaimana cara menyelesaikannya (terstruktur) melainkan objek-objek apa yang dapat diandalkan dalam memecahkan masalah tersebut.
Sebagai contoh anggap kita memiliki sebuah organisasi yang memiliki ketua, sekretaris, bendahara, petugas bidang dan lainnya. Misal ketua tersebut ingin menyukseskan suatu program, maka upaya tersebut tidak perlu ia lakukan secara langsung melainkan dapat memberdayakan bidang bersangkutan yang ada dalam organisasi tersebut. Pada kasus tersebut seorang ketua tidak harus mengetahui bagaimana cara teknis lapangan yang terjadi secara detail melainkan sang ketua bisa mendapatkan data perkembangan, laporan dan evaluasi program melalui objek petugas bidang tersebut. Jadi untuk menyelesaikan suatu masalah dilakukan dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
Contoh yang lainnya, kita dalam melihat sebuah mobil sebagai suatu sistem cukup hanya dengan melihat bagian-bagian tertentu yang dimiliki mobil tersebut untuk memahaminya yaitu seperti mesin, gas-tank, badan mobil, setir, ban mobil dan sebagainya tanpa harus mengetahui secara sistematik prosedur dan fungsi (teoritis; bersifat fisika, mekanika, matematik, dll) yang memungkinkan mobil itu dapat berjalan.
OOP dalam konsep pemogramannya menekankan kepada beberapa aspek penting yang mesti ada dalam program:
· Kelas yaitu kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.
· Objek yaitu suatu wadah yang membungkus segala data dan fungsi secara bersamaan sehingga menjadi suatu unit dalam sebuah program komputer yang merupakan dasar dari modularitas dan struktur.
· Abstraksi, yaitu kemampuan sebuah program untuk melewati aspek infromasi yang diproses olehnya, sehingga dapat fokus kepada inti pemecahan masalah. Objek merupakan model dari kerja abstrak yang dapat melakukan laporan, perubahan kondisi, dan komunikasi antar objek lainnya tanpa harus mengungkapkannya kepada user melalui user-interface tentang apa barusan yang telah ia lakukannya, hal ini dikatakan sebagai information hidding. Pernyataan yang mugkin mengena dalam penjelasan diatas yaitu “Ask not what you can do to your data structures, but rather ask what your data structures can do for you”.
· Enkapsulasi yaitu memastikan pengguna sebuah objek tidak dapat mengganti keadaan dari sebuah objek dengan metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
· Polimorfisme yaitu pengiriman pesan yang tidak bergantung kepada pemanggilan subrutin, melainkan tergantung kepada methode tertentu yang berhubungan dengan sebuah pengiriman pesan yang tergantung kepada objek tertentu di mana pesan tersebut dikirim. Sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa methode yang berbeda di saat yang berbeda pula dalam pemanggilan yang sama.
· Inheritas yaitu mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada, objek-objek ini dapat membagi dan memperluas perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut.
Perbedaan objek dengan kelas:
n Objek di ciptakan dari kelas.
n Objek merupakan contoh jadi dari sebuah kelas.
n Kelas merupakan template jadi dari sebuah objek yang di instantiasi.
n Kita dapat menciptakan sebuah objek atau lebih dalam kelas.
Ilustrasi :
- Januari 18, 2010
- JuanitaOke
- Sekilas Info
- 1 comment
Manusia sebagai mahkluk hidup yang bersifat sosial dan simbolik senantiasa mengakualisasikan dirinya melalui bahasa sebagai media interaksi dengan manusia dan mahkluk yang lainnya. Manusia yang mengenal teknologi berupaya untuk mencipatakan aturan main yang serupa agar adanya suatu interaksi yang efektif dengan mesin. Sebagaimana dapat kita prediksikan bahwasyahnya interaksi dengan mesin tidak se-humanis sebagaimana interaksi antar manusia, namun patut diakui bahwa interaksi dengan mesin dapat dikatakan lebih efektif, efisien dan kontinu walaupun dengan keterbatasan tertentu di wilayah respon yang statis, afeksi-kognisi yang tidak luwes dan ketiadaan kreasi-mandiri.
* Jika keterbatasan diatas tidak ada, maka dapat dikatakan bahwa mesin sudah sempurna untuk menggantikan kedudukan manusia sebagai pengelola dan pemakmur dimuka bumi ini.
Bahasa yang memungkinkan untuk terjadinya interaksi antara manusia-mesin ialah bahasa yang dapat dimengerti oleh kedua belah pihak. Hal ini rupanya mustahil, karena mesin merupakan sesuatu yang terbilang bodoh. Bahasa satu-satunya yang dapat dikenali oleh mesin ialah bytecode (kode byte) yang mengandalkan teknologi dari aliran elektron yang dimana jika ada aliran dianggap 1 dan jika tidak dianggap 0. Melalui pengertian kombinasi 1 dan 0 inilah mesin dapat merespon dari suatu statement atau argument prosedure tertentu.
Dari kondisi diatas maka manusialah yang mesti aktif untuk merekayasa interaksi manusia-mesin yang dimaksud, dalam hal ini mesin tidak dapat mempelajari bahasa manusia namun sebaliknya manusia yang terbilang cerdas dapat mempelajari bahasa mesin.
Manusia dengan kecerdasannya dalam mempelajari bahasa mesin bukanlah tanpa adanya kendala, untuk mempermudah interaksi manusia-mesin maka diciptakanlah teknologi bahasa pemograman yang dapat menerjemahkan suatu steatment melalui compiler ke bahasa bytecode yang dapat dimengerti oleh mesin.
Berikut adalah perkembangan bahasa pemrograman dari generasi I hingga generasi IV:
- Bahasa Pemrograman Generasi I, disebut juga dengan bahasa mesin. Pada periode ini manusia berkomunikasi langsung dengan mesin melalui bahasa mesin itu sendiri, yaitu bytecode dengan memanfaatkan kombinasi aliran arus listrik.
- Bahasa Pemrograman Generasi II, dikenal dengan bahasa assembly. Periode ini stetment dari user dialamatkan ke memori dengan proses compilasi sebelumnya ke bahasa bytecode. Contoh produk teknologi yang mendukung ialah Turbo Assembler dan SPIM.
- Bahasa Pemrograman Generasi III. Periode ini terdapat berbagai macam bahasa yang lebih manusiawi karena menggunakan beberapa kosa kata yang terdapat di dalam bahasa manusia, namun pada kenyataannya syntax yang dimiliki oleh teknologi bahasa pemograman generasi ini masihlah amat sulit dan rumit untuk dipahami dan di pelajari. Hal tersebut dikarenakan struktur bahasa yang di buat tidak lah lumrah dengan struktur bahasa manusia pada umumnya. Contoh produk teknloginya yaitu Pascal, C, Prolog, LISP dan Java.
- Bahasa Pemrograman Generasi IV, merupakan periode akumulasi dan penyempurnaan upaya-upaya sebelumnya. Pada saat ini SQL (Structured Query Language) dijadikan sebagai andalan dalam dunia pengembangan program aplikasi, khususnya yang menyangkut dengan DBMS Relasional. Dalam penggunaanya SQL ini dapat diitegrasikan dengan bahasa pemogrman tertentu (Generasi III), bahkan ada beberapa pihak yang menyediakan ORDBMS yaitu RDBMS yang berbasiskan Objek dengan teknologi PL/SQL-nya. Contoh produk dari generasi ini yaitu MySQL, Ms. SQL Server, PostGreSQL, dan Oracle.
- Januari 18, 2010
- JuanitaOke
- Sekilas Info
- No comments
- Januari 18, 2010
- JuanitaOke
- SQL Server
- No comments
Software Tutorial, 18 Januari 2010
SQL (Structured Query Language) merupakan sebuah bahasa pemograman non-prosedural yang digunakan dalam RDMS (Relation Database Management System).
Untuk apakah kita mempelajarinya ???
Pertama SQL merupakan bahasa de-facto bagi RDMS, termasuk yang populer saat ini seperti Oracle, Access,MySQL, Postgresql, Interbase, Sybase dan sebagainya. Selain itu SQL bersifat Powerfull dan efisien untuk mengakses data, dan yang menjadi lebih penting bahasa yang satu ini sangat mudah untuk dapat dipelajari oleh orang non-IT sekalipun, hal ini wajar karena seperti yang dapat kita buktikan bahwa kedekatannya akan bahasa manusia merupakan kelebihan yang dimiliki oleh SQL.
SQL adalah bahasa yang digunakan untuk membuat, memodifikasi, bahkan sampai menghapus data. SQL awalnya dikembangkan oleh E.F.Codd, dengan nama Structured English Query Langguage (SEQL,baca sequel). Walaupun penelitian tersebut dilakukan oleh orang IBM tidak serta merta mereka mengimplementasikannya. SQL mempunyai standard: ANSI SQL dan bagi setiap RDMS memiliki “dialek” dan extension tersendiri.
SQL merupakan sekumpulan bahasa yang masing-masing didisain untuk keperluan tertentu. Jenisnya antara lain:
- Data Definition Langguage (DDL), ia digunakan untuk membuat dan memodifikasi objek database. Pernyataan DDL terdiri atas CREATE, ALTER, DROP, RENAME, dan TRUNCATE.
- Data Manipulation Langguage (DML), ia digunakan untuk mengubah data yang ada didalam database. Pernyataan DML meliputi INSERT, UPDATE, SELECT dan DELETE. Beberapa tambahan untuk DML yang banyak digunakan dalam mengendalikan transaksi data, yaitu COMMIT, ROLLBACK, dan SAVEPOINT.
- Data Control Langguage (DCL), ia digunakan untuk memberikan hak dalam melakukan pekerjaan yang terkait dengan database dan hak untuk memanipulasi obyek database. Pernyataan yang termasuk dalam golongan antara lain GRANT dan REVOKE.
Untuk tahap awal ini sebaiknya kita membahas SELECT terlebih dahulu, karena yang satu ini merupakan suatu steatment yang sering digunakan. Agar steatment ini dapat kita gunakan maka terlebih dahulu kita membuat sebuah table (asumsi anda sudah memiliki database dan steatment bedialek ORA). Untuk pengolaan database dan table akan dibahas pada sesi selanjutnya secara spesifik lagi.
CREATE TABLE MAHASISWA (
NIM CHAR(9),
NAMA VARCHAR(25),
TMP_LAHIR VARCHAR(25),
TGL_LAHIR DATE,
TINGGI NUMBER(3),
CONSTRAINT PK_MAHASISWA PRIMARY KEY (NIM));
Lalu kita insert-kan beberapa data
INSERT INTO MAHASISWA VALUES (‘000456678′, ‘ANDRI INDRAWAN’, ‘TANGERANG’, TO_DATE(‘12-03-1985′,’DD-MM-YYYY’), 165);
Lakukan berulang-ulang hingga beberapa data yang kita inginkan berada pada tabel. Untuk mengecek apakah data tersebut sudah ada dalam tabel dan kita ingin memanipulasinya sedemikian rupa, simak pembahasan dibawah ini.
Select
Merupakan statement SQL yang paling banyak digunakan dalam RDMS dan merupakan ke kategori DML, adapun format umum dari statement ini yaitu SELECT [nama field] FROM [nama tabel] WHERE [kondisi], catatan:
- Gunakan SELECT *, jika semua field ingin ditampilkan.
- Jika semua record ingin ditampilkan hilangkan bagian WHERE
- Contoh: SELECT * FROM MAHASISWA;
- SELECT nama FROM mahasiswa; (hanya mengambil field nama saja)
- SELECT nim,nama FROM mahasiswa; (hanya mengambil nim,nama mahasiswa)
- Gabungan Field
- Oracle: SELECT nim||nama FROM MAHASISWA;
- MySQL: SELECT concat(nim,nama) FROM MAHASISWA;
- Access: SELECT nim+nama FROM MAHASISWA;
Select Distinct & Order By
SELECT DISTINCT TINGGI FROM MAHASISWA; yaitu menampilkan tinggi yang unik / tidak ada duplikasi tinggi
SELECT * FROM MAHASISWA ORDER BY TINGGI; yaitu data permintaan diurutkan berdasarkan tinggi badan
SELECT * FROM MAHASISWA ORDER BY TINGGI ASC, NAMA DESC; yaitu diurutkan berdasarkan tinggi secara ascending (menaik), berikutnya NAMA secara descending (menurun)
WHERE
SELECT nim,nama FROM mahasiswa WHERE nim=’123′;yaitu (hanya mengambil nim,nama mahasiswa dengan kondisi nim-nya adalah ‘123′)?
Operator seleksi yang dapat digunakan:
=, >, <, >=, <=, <>, LIKE, BETWEEN
Operator lojik yang dapat digunakan:
AND, OR, NOT
Contoh:
SELECT * FROM MAHASISWA WHERE TINGGI>=150 AND TINGGI <=160;
Contoh:
SELECT * FROM MAHASISWA WHERE NOT((NIM = ‘123′) OR (NIM = ‘124′));
Untuk kondisi (where), penggunaan fungsi LIKE dalam upaya pengambilan suatu data yang mungkin serupa secara umum berformat
SELECT [nama field] FROM [nama tabel] WHERE [kondisi (nama_field LIKE parameter_isi_field)]
Adapun dalam dialek yang dapat kita ketahui diantaranya:
Oracle, MySQL:
SELECT * FROM MAHASISWA WHERE NAMA LIKE ‘%NDR%’; dimana % artinya: nol, satu atau lebih karater
SELECT * FROM MAHASISWA WHERE NAMA LIKE ?ANDR_’; dimana _ artinya : tepat satu karakter
MS Access:
SELECT * FROM MAHASISWA WHERE NAMA LIKE ?*NDR*’; dimana * artinya : nol, satu atau lebih karater
SELECT * FROM MAHASISWA? WHERE NAMA LIKE ?ANDR?’; dimana ? Artinya : tepat satu karater
Sedangkan untuk kondisi pengambilan data dengan parameter terukur pasti dapat kita gunakan fungsi IN dan BETWEEN
SELECT * FROM MAHASISWA WHERE nim IN (‘123′,’124′); yaitu tampilkan nim 123 dan nim 124
SELECT * FROM MAHASISWA WHERE nim NOT IN (‘123′,’124′); yaitu tampilkan selain nim 123, dan 124
SELECT * FROM MAHASISWA WHERE tinggi BETWEEN 150 AND 160; yaitu tampilkan mahasiswa dengan tinggi antara 150 dan 160
Dalam menggunakan SELECT dan WHERE, terdapat beberapa fungsi khusus yang dapat kita gunakan dalam pengambilan data termanipulasi. Adapun fungsi yang paling umum dan sering digunakan ialah fungsi string dan tanggal.
Fungsi String
UPPER?digunakan untuk mengubah isi field bertipe data char/ varchar jadi huruf besar.
select UPPER(NAMA) from MAHASISWA where UPPER(NAMA) = ‘ANDRI’;
Catatan untuk konstanta string, di dalam ORA penggunaan fungsi ini senantiasa harus menggunakan satu tanda petik ‘ ‘ sedangkan dalam MySQL dapat satu maupun dua tanda petik ” ” dan ”.
select UPPER(NAMA) from MAHASISWA where UPPER(NAMA) = “ANDRI”;
Selain fungsi UPPER masih terdapat fungsi yang lainnya, LOWER, LENGTH, SUBSTR, dan khusus untu ORA ada fungsi INITCAP yaitu fungsi untuk title case (huruf pertama kapital).
Contoh: substr(‘ANDRI INDRAWAN’,2,4) hasilnya adalah ‘NDRI’ (mulai dari karakter dua sebanyak tiga karakter)
Fungsi Tanggal
Secara default fungsi tanggal dalam ORA (TGL_LAHIR dalam type STRING) yaitu
select * from MAHASISWA where TGL_LAHIR = ‘30-01-1975′;
Sedangkan dalam dalam MySQL (TGL_LAHIR dalam type STRING) berformat
select * from MAHASISWA where TGL_LAHIR = ‘1975-01-30′;
Dalam ORA, konversi data bertipe data string (char/varchar) ke date (tanggal) menggunakan TO_DATE, begitupun sebaliknya untuk date ke string menggunakan TO_CHAR
select * from MAHASISWA where TGL_LAHIR = TO_DATE(‘1975-01-30′,’YY-MM-DD’);
select TO_CHAR(TGL_LAHIR,’DD-MM-YYYY HH24:MI:SS’) from MAHASISWA;
Dalam MySQL, konversi data string ke date menggunakan STR_TO_DATE
select * from MAHASISWA where TGL_LAHIR = STR_TO_DATE(‘30-01-1975′,’%d-%m-%Y’);
Sendangakan untuk tipe data DATETIME dalam MySQL menggunakan DATE_FORMAT
select DATE_FORMAT(TGL_LAHIR, ‘%d-%m-%Y? %H:%m:%s’) from MAHASISWA;
Hasilnya akan berupa : 07-07-2005 19:20:12
Selain hal yang diatas, dibawah ini adalah beberapa point yang penting dalam fungsi tanggal di ORA dan MySQL:
- Tanggal hari ini:
- MySQL: CURDATE()
- ORA: sysdate
- Mengambil tanggal,bulan atau tahun:
- contoh: EXTRACT (year from [namafield]);
- ORA: ADD_MONTHS, LAST_DAY, MONTHS_BETWEEN, NEXT_DAY, ROUND, dst.
- MySQL: DATE_ADD,DATE_SUB,EXTRACT, dst.
Khusus untuk ORA :
- Oracle menyimpan tanggal dalam bentuk gabungan tanggal dan waktu (jam menit det) yaitu Tipe DATE
Tanggal menjadi bagian integer, waktu menjadi bagian pecahan.
- Tanggal dapat digunakan dengan operator =, <, >,<=,>=.
- Jika tanggal disimpan dalam bentuk tanggal dan waktu.
- Contoh: 30-12-2005 15:20:20
Maka untuk menghasilkan nilai TRUE pada pencarian, harus juga menggunakan waktu atau menggunakan TRUNC (jika hanya tanggal yang diperlukan)
Contoh:
select * from tamu where trunc(waktu_checkin) = ‘30-12-2005′ ;
Perlu diketahui sebelumnya bahwa penggunaan/ penulisan sintaks SQL itu tidak bersifat case sensitive, dimana SELECT itu sama dengan select dalam pengertiannya.
Yah itu lah beberapa keguanaan SELECT, SELECT-WHERE, dan fungsi yang menyertainya, namun perlu diingat bahwa dalam DML masih ada yang lainnya, yaitu INSERT, UPDATE dan DELETE. Apalagi jika kita juga hendak membicarakan DDL dan DCL, pasti akan lebih asyik dan banyak lagi yang perlu kita bahas.
Mungkin dalam tulisan berikutnya saja kita akan coba bahas kembali hal tersebut step-by-step, untuk saat ini sampai disini dulu, silahkan anda mencobanya (TRIAL AND ERROR) di rumah, OK!.