This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Senin, 11 Agustus 2014

Pemrograman Mobile

Mobile Programming

1. Pengertian Mobile Programming
Mobile Programing adalah pemograman aplikasi mobile bisa menggunakan J2ME, mobile merupakan aplikasi yang bisa jalan di handphone seperti PDA atau yang handphone yang berbasis java.


2. Perangkat Mobile
a. Ukuran Yang Kecil Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.

b. Memory yang terbatas
Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan secondary(disk). Pembatasan ini adalah salah satu faktor yang mempengaruhi penulisan program untuk berbagai jenis dari perangkat ini. Dengan pembatasan jumlah dari memory, pertimbangan - pertimbangan khusus harus diambil untuk memelihara pemakaian dari sumber daya yang mahal ini.

c. Daya proses yang terbatas
Sistem mobile tidaklah setangguh rekan mereka yaitu desktop. Ukuran, teknologi dan biaya adalah beberapa faktor yang mempengaruhi status dari sumber daya ini. Seperti hardisk dan RAM, Anda dapat menemukan mereka dalam ukuran yang pas dengan sebuah kemasan kecil.

d. Mengkonsumsi daya yang rendah
Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin desktop. Perangkat ini harus menghemat daya karena mereka berjalan pada keadaan dimana daya yang disediakan dibatasi oelh baterai - baterai.

e. Kuat dan dapat diandalkan
karena perangkat mobile selalu dibawa kemana saja, mereka harus cukup kuat untuk menghadapi benturan - benturan, gerakan, dan sesekali tetesan air.

f. konektivitas yang terbatas
perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan tidak tersambung. Kebanyakan dari mereka menggunakan koneksi wireless

g. Masa hidup yang pendek
Perangkat - perangkat konsumen ini menyala dalam hitungan detik kebanyakan dari mereka selalu menyala. Coba ambil kasus sebuah handphone, mereka booting dalam hitungan detik dan kebanyakan orang tidak mematikan handphone mereka bahkan ketika malam hari. PDA akan menyala jika anda menekan tombol power mereka.

J2ME


1. Pengertian J2ME

J2ME (Java 2 Micro Edition) merupakan subset dari J2SE yang ditujukan untuk implementasi pada peralatan embeded system dan handheld yang tidak mampu mendukung secara penuh implementasi menggunakan J2SE.

J2ME adalah teknologi Java yang diperuntukkan perngkat-perngakat kecil consumer device, terutama wireless. Bebrapa perangkat wireless antara lain PC, PDA, communicator, embedded device, smart card dan ponsel. Teknologi Java mungkin merupakan satu-satunya cara memprogram beberapa perangkat, berbagi logic antara perangkat dan server, pengantaran aplikasi secara dinamis, program yang kompak, lingkungan pengembangan yang aman dan cepat. J2ME memungkinkan perangkat lunak dapat di-download perangkat sekaligus memungkinkan layanan yang dapat disesuaikan di beragam perangkat. J2ME menyediakan platform standar untuk pengembangan perangkat wireless. J2ME terdiri atas perangkat-perangkat komponen sebagai berikut:

1. Java Virtual Machine (JVM), komponen untuk menjalankan program-program Java pada emulator atau handheld device.

2. Java Application Programming Interface (API), merupakan kumpulan library untuk menjalankan dan mengembangkan program Java pada Handheld Devices.

3. Tools lain untuk mengembangkan Java, semacam emulator Java Phone, Emulator Nokia, Emulator Siemens dan Emulator Motorola.

2. J2ME Configuration


J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime. Oleh karena setiap handheld device memiliki fitur-fitur yang berbeda-beda, J2ME Configuration ini dirancang yaitu menyediakan library standar yang mengimplementasikan fitur standar dari sebuah Handled device.

Ada dua kategori J2ME Configuration yaitu :

a. CLDC ( Connected Limited Device Configuration )

Digunakan untuk aplikasi java pada perangkat-perangkat keras dengan ukuran memori yang sangat terbatas, yaitu pada kisaran 160 samapi 512 KiloBytes, seperti handphone, organizer atau PDA seperti PALM, Poket PC dan two way pagers.

b. CDC (Connected Device Configuration )

Digunakan untuk aplikasi Java pada Handheld devices dengan ukuran memori paling tidak 2 Megabytes, seperti : Internet TV, Nokia, Communicator dan car television.


3. J2ME Profile

J2ME Profile mengimplementasikan kemampuan / fitur lain yang sangat bergantung pada jenis handheld yang digunakan.

Ada lima kategori J2ME Profile saat ini, yakni :

a. Mobile Information Devise Profile

MIDP menyediakan librari-librari java untuk implementasi dasar antarmuka (GUI), imp-lementasi jaringan (networking), database dan timer. MIDP dirancang khususnya untuk wireless phone dan pager.

b. Foundation Profile

Profile dasar untuk non-GUI network device pada CDC

c. Personal Profil, RMI Profile, Personal Digital Assistant Profile

Standar grafik, Generasi selanjutnya dari lingkungan personal java, dan RMI yang support untuk CDC dan profile standart device.


4. Jenis-jenis aplikasi J2ME

Saat ini terdapat dua jenis aplikasi J2ME yaitu:

a. Walled garden application yaitu aplikasi yang berdiri sendiri atau standalone yang berjalan pada handphone tanpa perlu mengakses sumber data eksternal melalui jaringan pembawa atau carier network. Contoh dari aplikasi ini adalah kalkulator atau single player games.

b. Network aware application yaitu aplikasi yang berinteraksi dengan jaringan. Tidak seperti aplikasi pertama, aplikasi ini memiliki kemampuan untuk mengakses sumber daya eksternal. Contoh dari aplikasi jenis ini adalah aplikasi email yang berada pada handphone, aplikasi untuk mendapatkan kembali data alamat-alamat yang tersimpan melalui jaringan, dan pengiriman email berbagai alamat melalui jaringan data.


MIDlet


MIDlet merupakan aplikasi yang dijalankan pada sebuah perangkat handheld. MIDlet tidak berinteraksi langsung dengan hardware dari handheld devices, melainkan berinteraksi melalui AMS (Application Management Software). AMS inilah yang akan menerima sinyal dari MIDlet bahwa MIDlet akan dijalakan atau berhenti.

MIDP mendefinisikan kelas-kelas library berikut untuk membangun aplikasi:

a. Javax.microediton.midlet, merupkan package yang berisi kelas-kelas untuk mengatur daur hidup midlet.

b. Javax.microedition.lcdui, merupakan package yang berisi kelas-kelas yang user interface dan pemrograman GUI.

c. Javax.microedition.io, merupakan.package yang berisi kelas-kelas dan antarmuka untuk midp pemrograman jaringan.

d. Javax.io, java.lang and java.util, merupakan package yang berisi I/O, language dan kelas-kelas utility.


Daur Hidup MIDlet


Daur Hidup MIDlet terdiri dari :

a. Retrieval

AMS menerima MIDlet kemudian disimpan didalam memori. Media untuk mendowload MIDlet dapat berupa : Kabel serial, port IRDA, atau jaringan wireless.

b. Instalation

Setelah MIDlet di-download, AMS akan menginstall MIdlet Pada Device. Selama proses instalasi, MIDP akan menjamin MIDlet tidak melanggar akses security.

c. Version Management

AMS akan menyimpan semau informasi mengenai MIDlet yang telah diinstal termasuk informasi versinya. Ini akan berguna untuk meng-upgrade MIDletke versi baru.

d. Removal

AMS akan menghapus MIDlet dan membersihkan alokasi memori yang digunakan.

Setelah di-Launch oleh AMS Midlet akan berada dalam tiga status berikut :

a. Paused

Status ini terjadi ketika MIDlet selesai disosialisasikan dan tidak melakukan aksi apapun.

b. Active

Status ini terjadi ketika MIDlet sedang berjalan dengan normal, yakni setelah memanggil fungsi MIDlet.startApp()

c. Destroyed

Status ini terjadi ketika MIDlet berhenti berjalan (exit), sehingga seluruh sumber daya yang digunakan akan dibebaskan. Status ini terjadi ketika berhasil dilakukan pemanggilan fungsi MIDlet.destroyApp() atau MIDlet.notifyDestroyed().

Daur hidup pembangunan MIDlet terdiri dari :

a. Kompilasi dan pre-verifying.

b. Testing.

c. Packaging

Merupakan operasi terakhir untuk membungkus aplikasi MIDlet menjadi file JAR dan file JAD.

d. Running


sumber: http://tahuajah.blogspot.com/2014/08/mobile-programming.html

Bahasa Pemrograman


Bahasa pemrograman adalah bahasa resmi Yang dibangun dirancang untuk berkomunikasi Instruksi untuk Mesin, khususnya Komputer. Bahasa pemrograman dapat digunakan untuk cara membuat Program untuk mengontrol perilaku Mesin atau untuk mengekspresikan ALGORITMA.
Bahasa pemrograman Less mendahului penemuan Komputer Dan digunakan untuk mengarahkan perilaku Mesin seperti Jacquard tenun Dan pemain piano. Ribuan bahasa pemrograman Yang berbeda telah dibuat, terutama di Kepemilikan Modal Komputer, Dan Banyak, Lagi Masih Yang setiap diciptakan Tahun. Banyak, bahasa pemrograman memerlukan perhitungan Yang Akan ditentukan Dalam, bentuk imperatif (yaitu, sebagai Urutan Restated untuk melakukan), bahasa sedangkan berbaring bentuk menggunakan berbaring Spesifikasi bahasa Dari Program seperti bentuk deklaratif (yaitu Hasil Yang ditentukan diinginkan, Bukan bagaimana untuk mencapai ITU).
Deskripsi bahasa pemrograman biasanya dibagi menjadi doa komponen sintaksis (bentuk) Dan semantik (makna). Beberapa bahasa Yang didefinisikan Diposkan dokumen Spesifikasi (misalnya, bahasa pemrograman C ditentukan Diposkan oleh Standar ISO), bahasa sedangkan lain (seperti Perl) memiliki Implementasi dominan Yang diperlakukan sebagai Referensi.



Definisi

Sebuah bahasa pemrograman adalah notasi untuk menulis program , yang merupakan spesifikasi dari perhitungan atau algoritma . Beberapa, tetapi tidak semua, penulis membatasi istilah "bahasa pemrograman" untuk bahasa-bahasa yang dapat mengekspresikan semua algoritma mungkin. Sifat sering dianggap penting bagi apa yang merupakan bahasa pemrograman meliputi:
Fungsi dan sasaran
Sebuah bahasa pemrograman komputer adalah bahasa yang digunakan untuk menulis program komputer , yang melibatkan komputer melakukan semacam perhitungan atau algoritma dan mungkin mengontrol perangkat eksternal seperti printer , disk drive , robot , dan sebagainya. Misalnya, PostScript program sering dibuat oleh program lain untuk mengendalikan printer komputer atau layar. Secara umum, bahasa pemrograman dapat menjelaskan perhitungan pada beberapa, mungkin abstrak, mesin. Hal ini berlaku umum bahwa spesifikasi lengkap untuk sebuah bahasa pemrograman meliputi penjelasan, mungkin ideal, dari mesin atau prosesor untuk bahasa tersebut. Dalam kebanyakan konteks praktis, bahasa pemrograman melibatkan komputer; akibatnya, bahasa pemrograman biasanya didefinisikan dan mempelajari way.Programming ini bahasa berbeda dari bahasa alam dalam bahasa alam hanya digunakan untuk interaksi antara orang, sedangkan bahasa pemrograman juga memungkinkan manusia untuk berkomunikasi instruksi untuk mesin.

Sejarah

Perkembangan Awal

Bahasa pemrograman pertama yang didesain untuk berkomunikasi instruksi untuk komputer ditulis pada 1950-an. Sebuah awal bahasa tingkat tinggi pemrograman harus dirancang untuk komputer adalah yakni Plankalkül , dikembangkan untuk Jerman Z3 oleh Konrad Zuse antara 1943 dan 1945 Namun, itu tidak dilaksanakan sampai dengan tahun 1998 dan 2000.
John Mauchly 's Short Code , yang diusulkan pada tahun 1949, adalah salah satu bahasa tingkat tinggi pertama yang pernah dikembangkan untuk komputer elektronik .Unlike kode mesin , laporan Short Code mewakili ekspresi matematika dalam bentuk dimengerti. Namun, program ini harus diterjemahkan ke dalam kode mesin setiap kali itu berlari, membuat proses jauh lebih lambat daripada menjalankan setara kode mesin .


Tingkatan Level Bahasa pemrogamman

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya [kode_mesin|MOV], SUB, CMP, JMP, JGE, JL, LOOP, dsb.
  3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
  4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter.

Apa itu Compiler, Assembler, Linker

Kompilator (Inggris: compiler) adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman lain.
Terlepas dari pengertiannya yang demikian relatif luas, istilah kompilator biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic, Visual C#, Java, xBase, atau COBOL) menjadi bahasa mesin, biasanya dengan bahasa Assembly sebagai perantara.
Arsitektur kompilator modern biasanya bukan lagi merupakan program tunggal namun merupakan rangkaian komunikasi antar program dengan tugas spesifik masing-masing. Program-program tersebut beserta tugasnya secara umum terdiri dari:
  • Kompilator itu sendiri, yang menerima kode sumber dan menghasilkan bahasa tingkat rendah (assembly)
  • Assembler, yang menerima keluaran kompilator dan menghasilkan berkas objek dalam bahasa mesin
  • Linker, yang menerima berkas objek keluaran assembler untuk kemudian digabungkan dengan pustaka-pustaka yang diperlukan dan menghasilkan program yang dapat dieksekusi (executable)
Kompilator yang menggunakan arsitektur ini misalnya GCC, Clang dan FreeBASIC.


Interpreter

Dalam ilmu komputer, penerjemah atau lebih dikenal dengan interpreter merupakan perangkat lunak yang berfungsi melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa pemrograman, sebuah penerjemah dapat berarti:
  1. Mengeksekusi kode sumber secara langsung, atau
  2. Menerjemahkannya ke dalam serangkaian p-code kemudian mengeksekusinya, atau
  3. Mengeksekusi kode yang telah dikompilasi sebelumnya oleh kompiler yang merupakan bagian dari sistem penerjemahan.
Perl, Python, Ruby, dan MATLAB adalah beberapa contoh perangkat lunak penerjemah bertipe 2, sementara Java termasuk dalam kategori tipe 3, namun dalam beberapa kasus Java dapat digolongkan pula ke dalam kategori tipe 2.
Meskipun penerjemahan dan kompilasi merupakan dua jenis mekanisme implementasi pada sebuah bahasa pemrograman, keduanya tidak berarti memiliki perbedaan secara signifikan. Hal ini disebabkan cara kerja sebuah penerjemah dalam banyak hal adalah sama seperti halnya yang dilakukan oleh kompiler. Penggunaan istilah "bahasa pemrograman terjemahan" dan "bahasa pemrograman kompilatif" umumnya digunakan sebatas untuk membedakan implementasi dari bahasa tersebut menggunakan model penerjemahan atau kompilatif.

sumber: http://id.wikipedia.org/wiki/Bahasa_pemrograman

Penjelasan OOP ( OBJECT ORIENTED PROGRAMMING )


KONSEP DASAR OOP 
Pengertian OOP
OOP adalah sebuah metodologi atau cara berpikir dalam melakukan pemrograman dimana pendefinisian tipe data disertai dengan pendefinisian fungsi. Struktur data yang seperti ini disebut dengan istilah object. Paradigma pemrograman OOP dapat dilihat sebagai interaksi sebuah object dalam melakukan tugasnya.
Segelas teh tentunya memiliki berbagai spesifikasi seperti volume air, rasa, temperatur dan sebagainya. Pada pemrograman, spesifikasi-spesifikasi tersebut merupakan variabel yang dideklarasikan beserta tipe data. Pada OOP, sebuah object Teh juga memiliki method berupa fungsi yang dapat dipanggil untuk merubah kelakuan atau spesifikasi teh tersebut. Method minumTeh dapat dideklarasikan sebagai fungsi yang dapat dipanggil untuk mengurangi nilai variabel Volume.
Di samping itu, sebuah object dapat memiliki relasi terhadap object lainnya. Sebagai contoh, sebuah object dapat berupa keturunan dari object lain. 
Sejarah OOP
Konsep OOP bermula pada era 1960-an. Sebuah bahasa pemrograman Simula memperkenalkan berbagai konsep yang mendasari OOP dengan SIMULA I (1962-65) dan Simula 67 (1967). Kemudian pada tahun 70-an, bahasa pemrograman Smalltalk menjadi yang pertama kali disebut object-oriented.
Pada tahun 1980-an, dua bahasa pemrograman ADA (US Department of Defense) dan PROLOG (the Japanese “Fifth Generation Computer Project”) dipercayai akan bersaing ketat sebagai bahasa pemrograman yang paling dominan. Namun justru OOP yang menjadi paradigma pemrograman yang paling dominan sampai sekarang. Bahasa pemrograman yang object-oriented seperti C++ pada tahun 80-an menjadi populer. Pada tahun 90-an, bahasa-bahasa pemrograman seperti Java mulai menerapkan OOP. Sampai pada 2002, Microsoft Visual Studio memperkenalkan bahasa object-oriented baru yang diberi nama C#. Disusul VB.NET yang merupakan penyempurnaan Visual Basic 6.0 yang tidak mendukung OOP.
Object-Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses / tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan / action atau metode. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi object-object lain yang berinteraksi untuk melakukan tugasnya membawa kita.
Object-oriented programs terdiri dari objects yang berinteraksi satu sama lainnya untuk menyelesaikan sebuah tugas. Seperti dunia nyata, users dari software programs dilibatkan dari logika proses untuk menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman diword processor, kamu berarti melakukan inisialisasi tindakan dengan mengklik tombol printer. Kemudian kamu hanya menunggu respon apakah job tersebut sukses atau gagal, sedangkan proses terjadi internal tanpa kita ketahui. Tentunya setelah kamu menekan tombol printer, maka secara simultan object tombol tersebut berinteraksi dengan object printer untuk menyelesaikan job tersebut.
Object-Oriented vs. Procedural
Procedural programming merupakan paradigma pemrograman selain OOP yang berdasarkan pada konsep procedure call. Procedure merupakan fungsi yang akan dijalankan secara berantai ketika program aktif baik oleh program itu sendiri atau procedure lain. Contoh bahasa pemrograman yang termasuk kedalam paradigma ini diantaranya adalah Pascal, Delphi, C++, ALGOL, Fortran, dll.
TYPE Teh = RECORD
                   NamaTeh:       STRING;
                   VolumeTeh:     REAL;
                   WarnaTeh:      ColourType;
                   …
         END;
Selanjutnya proses pemasukkan nilai variabel dan fungsi meminum teh dilakukan seperti berikut:
VAR Tehku: Teh;
BEGIN
   …
   (* Inisialisasi atribut teh *)
   Tehku.NamaTeh := “Sosro”;
   Tehku.VolumeTeh := 1.00;
   …
   …
   (* Meminum teh *)
   Tehku.VolumeTeh := Tehku.VolumeTeh – 0.1;
Proses ini tidak berlaku pada pemrograman berbasis object, sebab struktur data Teh hanya mempunyai tipe-tipe variabelnya. Pada OOP, perubahan sebuah object dilakukan dengan pemanggilan method yang dideklarasikan sebelumnya. Seperti yang disebutkan sebelumnya, method minumTeh dapat dideklarasi dan kemudian dipanggil untuk mengurangi Volume teh tersebut.
Mengapa menggunakan OOP?
Mengapa OOP dibangun dalam sebuah paradigma yang luas untuk menyelesaikan masalah bisnis? Bahasa prosedural mengatur program dalam mode barisan linier yang bekerja dari atas ke bawah. Dengan kata lain, program adalah kumpulan dari tahapan yang dijalankan setelah yang lain berjalan. Programming tipe ini bekerja dengan baik untuk program kecil yang berisi code relative sedikit, tetapi pada saat program menjadi besar, mereka cenderung susah untuk di-manage dan di-debug. Dalam usaha untuk me-manage program, struktur programming diperkenalkan cara untuk mem-break down code-code tersebut melalui functions dan procedures.
Ini adalah sebuah langkah perbaikan, namun pada saat program dijalankan dalam sebuah fungsi bisnis yang kompleks dan berinteraksi dengan sistem lain, maka kelemahan dari struktur metodologi programming muncul kepermukaan meliputi:
Program menjadi lebih susah untuk dimaintain. Fungsi yang tersedia, susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara keseluruhan.
Programming tidak baik untuk team development. Programmers harus mengetahui setiap aspek bagaimana program itu bekerja dan tidak menyebabkan terisolasi usaha mereka atas aspek yang lain dari sistem.
Butuh usaha yang keras untuk menterjemahkan Business Modelsdalam programming models.
Mungkin dapat bekerja dengan baik pada saat terisolasi tapi tidak pada saat terintegrasi dengan sistem lain.
http://santiherliani5g.blogspot.com/2009/01/konsep-oop.html
Istilah-istilah pada OOP antara lain :
  • Kelas (Class)
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog‘ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi objectSebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Objek (Object)
Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objekmerupakan dasar dari modularitas dalam sebuah program komputer berorientasi objek.
  • Abtraksi (Abstraction)
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi (Encapsulation)
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak, hanya 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 (Polymorphism)
Melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Inheritas (inheritance)
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 (bahasa berbasis objek tidak selalu memiliki inheritas.)
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
http://yul-elfshawol.blogspot.com/2010/12/konsep-dasar-oop.html
Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan teknik membuat suatu program berdasarkan objek. Pengembangan program OOP dapat dilakukan dengan mudah karena dapat mengurangi duplikasi kode dan mengurangi kesalahan program.
Program Java dapat dibedakan menjadi dua jenis :
- Applet, adalah program yang dibuat dengan Java, dapat diletakkan pada web server dan di akses melalui web browser.
- Aplikasi, adalah program yang dibuat dengan Java yang bersifat umum dan dapat dijalankan secara langsung.
Versi Java yang telah dirilis oleh Sun Microsystems atau yang lebih dikenal dengan J2SDK (Java 2 System Development Kit) antara lain:
1. J2ME (Java Micro Edition)
2. J2SE ( Java Standard Edition)
3. J2EE (Java 2 Entrprise Edition)
dimana urutan dari yang tertinggi adalah J2EE, J2SE, J2ME
Selain J2SDK ada pengembangan yang lain tergolong sebagai IDE (Integrated Development Environment), contohnya adalah Semantic Cafe, Borland Jbuilder.
Untuk mendownload software Java Development Kit (JDK)
Pada OOP ada dua istilah yang sering digunakan yaitu class dan objek.
Class berisi kumpulan dari objek-objek, sedangkan objek merupakan sebuah bentuk model yang tergantung dari cara pandang terhadap objek yang dimaksud.
Untuk lebih memudahkan pemahaman tentang class dan objek, sebagai contoh: sebuah class Kereta api mempunyai objek antara lain gerbong, rel, rem, tempat duduk dan yang lainnya. Setiap objek memiliki atribut dan metode. Atribut adalah segala sesuatu yang berhubungan dengan karakteristik dari objek misalnya warna, bentuk atau fasilitas dari Kereta Api tersebut. Sedangkan Metode dari Kereta Api tersebut adalah kecepatan sehingga dapat berjalan dengan cepat di tengah kemacetan. Jadi metode merupakan fungsi atau segala sesuatu yang dapat dilakukan Kereta Api sebagai objek.
contoh :
public class KrtApi {
int gerbong;
String fasilitas;
}
public class KeretaApi {
public static void main(String[] args)
{
// membuat object
KrtApi kereta=new KrtApi();
// memanggil atribut dan memberi nilai
kereta.gerbong= 4;
kereta.fasilitas= “AC” ;
System.out.println(“Jumlah Gerbong:”+ kereta.gerbong);
System.out.println(“Fasilitas :”+ kereta.fasilitas);
}
}
Karakteristik Pemrograman Berorientasi Objek
1. Abstraction
Yaitu kumpulan objek yang saling berinteraksi.
2. Enkapsulasi
Yaitu menyembunyikan suatu proses dalam sistem untuk menghindari interferensi dan
menyederhanakan penggunaan sistem itu sendiri
3. Inheritance (Pewarisan)
Suatu class dapat mewariskan atribut dan metode kepada class lain.
4. Polymorphism
Suatu objek dapat memiliki berbagai bentuk sebagai objek dari classnya sendiri.
Contoh Program Inheritance (Pewarisan)
public class KeretaEkonomi extends KeretaApi {
public void setTarif(int tarif) {
System.out.println(“Tarif :”+ tarif);
}
}
public class KeretaEkonomiBeraksi {
public static void main(String[] args) {
KeretaEkonomi kereta = new KeretaEkonomi();
// Memanggil method di object
System.out.println(“Tarif Kereta Ekonomi jakarta – Bogor”);
kereta.setTarif(2500);
}
}

sumber: http://hendraenda.wordpress.com/2013/04/01/konsep-dasar-oop-pada-pemrograman-java/

Jumat, 08 Agustus 2014

Penjelasan Database Server

Database Server
Database server adalah program komputer yang menyediakan layanan data lainnya ke komputer atau program komputer, seperti yang ditetapkan oleh model klien-server. Istilah ini juga merujuk kepada sebuah komputer yang didedikasikan untuk menjalankan program server database. Database sistem manajemen database yang sering menyediakan fungsi server, dan beberapa DBMSs (misalnya, MySQL) secara eksklusif bergantung pada model klien-server untuk akses data.
Apa fungsi dari database server? 
Database server menyediakan beberapa manfaat yaitu:

  1. semua data untuk organisasi dapat disimpan di satu lokasi.
  2. database server menambahkan tingkat keamanan data.
  3. database server menyediakan layanan database management service dimana data disusun
  4. dengan cara tertentu sehingga meningkatkan pencarian dan pengambilan data.
  5. beberapa client dapat mengakses data yang disimpan di database server dalam satu waktu tanpa saling menggangu satu sama lain.
Berikut keuntungan lain jika menggunakan database server:
keuntungan database server
Bagaimana Database Server Bekerja ?
Client-server model dapat diartikan sebagai model dari suatu sistem yang membagi proses sistem antara server yang mengolah database dan client yang menjalankan aplikasi. Database server mengurangi beban akses data oleh client pada server. Database dapat diakses oleh beberapa client secara bersamaan dimana data yang diakses hanya atau diubah berasal dari satu sumber yaitu database pada server.


sumber: rizalkurnia.com

Penjelasan ERD

A. Teori ERD 

         Entity Relationship Diagram (ERD) merupakan diagram yang digunakan untuk merancang suatu basis data, untuk memperlihatkan hubungan atau relasi antar entitas atau objek yang terlihat beserta atributnya. Objek utama dari pembuatan diagram ERD  menunjukan objek objek (himpunan entitas) apa saja yang ingin dilibatkan dalam sebuah basis data dan bagaimana hubungan yang terjadi antara objek-objek tersebut. 
            ERD pertama kali dideskripsikan oleh Peter Chen yang dibuat sebagai bagian dari perangkat lunak CASE. 
Notasi yang digunakan dalam ERD adalah :
Entitas dapat merupakan :

·         Sebuah elemen lingkungan dari perusahaan , seperti customer atau supplier
·         Suatu sumber daya , seperti suatu piutang dagang, suatu  produk, atau suatu penjual
·         Suatu arus informasi , seperti suatu penjualan pemesanan atau suatu faktur  
          Di dalam sebuah entitas terdapat beberapa atribut. Atribut merupakan gambaran karakteristik dari sebuah entitas atau himpunan entitas.
Contoh : atribut untuk himpunan entitas mahasiswa adalah nim (PK), nama, program studi.
 

Penggunaan key merupakan cara untuk membedakan suatu entitas didalam himpunan entitas dengan entitas lain. Key dipilih karena unik, untuk setiap entitas sehingga bisa di bedakan dari entitas yang lain. Kita bisa mendefinisikan key sebagai satu atau gabungan dari beberapa atribut yang dapat membedakan semua row dalam relasi secara unik. 
Ada 3 macam key :

1. Super Key
Superkey yaitu satu atau lebih atribut (kumpulan atribut) yang dapat membedakan satiap baris data dalam sebuah relasi secara unik.
Contoh super key yaitu =
1. Nim, nama, alamat, kota
2. Nim, nama, alamat
3. Nim, nama
4. Nim 
2.   Candidat Key
Kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah relasi secara unik
Contoh : Nim
3.   Primary Key
Primary key merupakan salah satu dari candidate key yang terpilih. Alasan pemilihan primary key :
1.   Lebih sering di jadikan acuan
2.   Lebih ringkas
3.   Jaminan keunikan key lebih baik
Contoh dari primary key adalah Nim.
  
Jika sebuah primary key terhubung ke table/entity lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key ( kunci tamu ). 
Misal : Primary Key Kode Dosen dari entity Dosen digunakan juga pada field entity KRS, maka keberadaan field Kode Dosen pada entity KRS disebut sebagai foreign key. (by : flowerfukushima.blogspot.com )
        Dalam ERD, hubungan (relasi) dapat terdiri dari sejumlah entitas yang disebut dengan derajad relasi. Derajad relasi maksimum disebut dengan kardinalitas sedangkan derajad minimum disebut dengan modalitas. Jadi kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain. Kardinalitas relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dapat berupa :
1. Satu ke satu (one to one/ 1-1)
Setiap entitas pada himpunan entitas A dapat berelasi dengan paling banyak satu entitas pada himpunan entitas B, demikian juga sebaliknya.
 
2. Satu ke banyak (one to many/ 1- N ) / N-1
Setiap entitas pada himpunan entitas A dapat berelasi dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya. Atau Setiap entitas pada himpunan entitas A hanya dapat berelasi dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya.
 
3. Banyak ke banyak (many to many/ N –N)
Setiap entitas pada himpunan entitas A dapat berelasi dengan banyak entitas pada himpunan entitas B, demikian juga sebaliknya.


B. Tahapan Pembuatan ERD 
         Berikut ini adalah contoh tahapan dalam pembuatan ERD pada " Sistem Informasi Akademis " .
Tahap 1: Penentuan Entities 

 

Keterangan :
Mahasiswa:
nim: nomor induk mahasiswa (integer) PK
nama_mhs: nama lengkap mahasiswa (string)
alamat_mhs: alamat lengkap mahasiswa (string)
Dosen:
nip: nomor induk pegawai (integer) PK
nama_dosen: nama lengkap dosen (string)
alamat_dosen: alamat lengkap dosen (string)
Mata_kuliah:
kode_mk: kode untuk mata kuliah (integer) PK
nama_mk: nama lengkap mata kuliah (string)
deskripsi_mk: deskripsi singkat mengenai mata kuliah (string)
Ruang:
kode_ruang: kode untuk ruang kelas (string) PK
lokasi_ruang: deskripsi singkat mengenai lokasi ruang kelas (string)
kapasitas_ruang: banyaknya mahasiswa yang dapat ditampung (integer)
Tahap 2 : Penentuan Atribut
 
Tahap 3 : Penentuan Kardinalitas Relasi
Hubungan :a.  ruang digunakan untuk mata_kuliah:

     · Tabel utama: ruang
     · Tabel kedua: mata_kuliah
     · Relationship: One-to-one (1:1)
     · Attribute penghubung: kode_ruang (FK kode_ruang di mata_kuliah)

b.  dosen mengajar mata_kuliah:
     · Tabel utama: dosen
     · Tabel kedua: mata_kuliah
     · Relationship: One-to-many (1:n) 
     . Attribute penghubung: nip (FK nip di mata_kuliah) 

c.  dosen membimbing mahasiswa:
     . Tabel utama: dosen
     · Tabel kedua: mahasiswa
     . Relationship: One-to-many (1:n)
     . Attribute penghubung: nip (FK nip di mahasiswa)
d.  mahasiswa mengambil mata_kuliah:
    · Tabel utama: mahasiswa, mata_kuliah
    · Tabel kedua: mhs_ambil_mk
    · Relationship: Many-to-many (m:n)
    · Attribute penghubung: nim, kode_mk (FK nim, kode_mk di mhs_ambil_mk)
Tahap 4 : Pembuaatan ERD
EER (Enhanced Entity Relationship) Diagram:

        Relasi many to many antar entity perlu dihilangkan dengan cara menambah atribut baru antara 2 entity yang memiliki relasi many to many. Pada diagram diatas, terdapat relasi mahasiswa mengambil matakuliah dimana mempunyai kardinalitas many to many. Maka dari itu perlu dibuat satu entity baru yang didalamnya menampung primary key dari entity mahasiswa dan entity mata kuliah yang nantinya dapat dijadikan foreign key pada entity mhs_ambl_mk , sedang yang dijadikan primary key disini kita ambil password portal akademik yang sifatnya unik ( satu mahasiswa mempunyai password yang berbeda dengan mahasiswa lain ) .