Kamis, 05 April 2012

Tugas PBO - Perbedaan Pemrograman Terstruktur & Berbasis Objek

Bahasa pemrograman adalah suatu sistem untuk berkomunikasi. Bahasa tertulis menggunakan simbol ( huruf) untuk membentuk kata. Dalam ilmu komputer, bahasa manusia disebut bahasa alamiah (natural languages), dimana komputer hanya mengerti bahasa biner dan tidak bisa memahami bahasa manusia, sehingga diperlukan suatu bahasa komputer sebagai perantaranya.

Pemrograman Terstruktur

Pemrograman terstruktur adalah proses untuk mengimplementasikan urutan langkah penyelesaian masalah suatu program. Prinsip dari pemrograman ini apabila kita sudah berada pada langkah tertentu, kita tidak bisa kembali ke langkah sebelumnya kecuali pada langkah-langkah untuk proses berulang. Berikut tujuan dari pemrograman terstruktur :
  1. Meningkatkan kualitas dan kehandalan program.
  2. Memudahkan pemahaman terhadap isi program.
  3. Menyederhanakan program.
  4. Maintenance (pemeliharaan) program.
  5. Meningkatkan produktifitas program Sifat-sifat Pemrograman Terstruktur.
dan berikut sifat-sifat yang dimiliki pemrograman terstruktur :
  1. Memuat teknik pemecahan masalah yang logis dan sistematis.
  2. Memuat algoritma yang efisien, efektif dan sederhana.
  3. Program disusun dengan logika yang mudah dipahami.
  4. Tidak menggunakan perintah GOTO.
  5. Biaya pengujian program relatif rendah.
  6. Memiliki dokumentasi yang baik..
  7. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah.
Bahasa pemrograman yang mendukung pemrograman terstruktur:
1.      Cobol Turbo Prolog
2.      C
3.      Pascal
4.      Delphi
5.      Borland Delphi
pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri.

Pemrograman Bebasis Objek

adalah sebuah sistem operasi yang internal menggunakan metodologi berorientasi object. Sebuah sistem operasi berorientasi objek ini berbeda dengan objek-berorientasi user interface atau pemrograman kerangka kerja , yang dapat ditempatkan di atas sistem operasi non-object-oriented seperti DOS , Microsoft windows atau Unix . Hal ini dapat berpendapat, bagaimanapun, bahwa sudah ada konsep berorientasi objek yang terlibat dalam desain sebuah sistem operasi yang lebih khas seperti Unix. Sementara bahasa yang lebih tradisional seperti C tidak mendukung orientasi objek sebagai lancar sebagai bahasa yang lebih baru, gagasan, misalnya, berkas , aliran , atau device criver (di Unix, masing-masing diwakili sebagai file descriptor ) dapat dianggap sebagai yang baik contoh dari orientasi objek: mereka, setelah semua, tipe data abstrak , dengan berbagai metode dalam bentuk panggilan sistem , yang perilakunya bervariasi berdasarkan jenis objek, yang pelaksanaannya rincian tersembunyi dari pemanggil, dan bahkan mungkin menggunakan warisan di mereka yang mendasari kode.

Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman terstruktur. Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis.
Metode pengembangan perangkat lunak berorientasi objek yang sudah dikenal, dan diantaranya adalah :
·         Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].
·         Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].
·         Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
·         Booch Method dan Grady Booch [1994].
·         Sritrop dan Steve Cook dan John Daniels [1994].
·         UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama, yaitu:
1.      Encapsulation
·          Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
·          Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
·          Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
2.      Inheritance
·          Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
·         Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
·          Inheritance menggambarkan generalisasi sebuah kelas.
3.     Polymorphism
·          Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
·          Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
·          Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan objek.

Bahasa pemrograman  yang mendukung OOP antara lain:
1.      Visual Foxpro 
2.      Java 
3.      C++ 
5.      Visual Basic.NET 
6.      SIMULA 
7.      Smalltalk 
8.      Ruby 
9.      Python 
10.  PHP 
11.  C# 
12.  Delphi 
13.  Eiffel 
14.  Perl 



Kelebihan dan Kekurangan

Pemrograman terstruktur :

kelebihan

·         Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
·         SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
·         Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
·         SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
·         SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
·         SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
·         SSAD relatif simpel dan mudah dimengerti.

Kekurangan

SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
·  Sedikit sekali manajemen langsung terkait dengan SSAD
·  Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
·  Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
·  Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
·  Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
·  SSAD tidak selalu memenuhi kebutuhan pengguna.
·  SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).

Pemrograman Berbasis Objek

Kelebihan

Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
·  Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
·  Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
·  Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
·  Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
·  Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
·  Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
·  OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
·  Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.

Kekurangan

·         Pada awal desain OOAD, sistem mungkin akan sangat simple.
·         Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
·         Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
·         Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
·         Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
·         OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
·         Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).

Sumber :
  1. http://eziekim.wordpress.com/2011/11/08/perbedaan-antara-perancangan-terstruktur-dan-berorientasi-objek/
  2. http://bosadetaqwa.wordpress.com/2012/04/01/perbedaan-pemrograman-terstruktur-dan-berbasis-objek/
  3. http://gutti211.blogspot.com/2011/10/perbedaan-pemograman-berorientasi-objek.html
  4. http://dendibatinova.wordpress.com/2011/10/24/perbedaan-pemrograman-berorientasi-objek-dan-terstruktur/
  5. http://shandy-06shihab.blogspot.com/2010/10/pemrograman-terstruktur.html

Nama : Fauzan Mulya Adiputra (52410642)
Partner : Priyo Santoso (55410403)


Rabu, 28 Maret 2012

Jejaring Sosial part 2

Kelebihan dan Kekurangan
Netlog sudah cukup user friendly menurut saya. Mempunyai warna dasar yang baik untuk menjadi ciri khasnya, netlog disini mencoba merangkul semua user dengan fasilitas yang memadai. Untuk laporan penyalahan gunaan, spam, ataupun pengaduan. Netlog disini menhyediakan fasilitas blog, cukup baru untuk dunia jejaring sosial. Di netlog kita dapat mengubah tampilan utama sesuai dengan kehendak kita. Untuk kekurangan mungkin masih belum ada daya tarik yang lebih agar dapat menarik peminat dunia jejaring sosial.
Keamanan / security
Netlog mempunyai pusat keamanan di dalamnya, terdapat beberapa peringatan untuk user netlog tentang kejahatan yang sering terjadi di dalam dunia maya. Netlog sangat memperhatikan keamanan penggunanya. Dijelaskan juga bahwa setiap pengembangan yang dilakukan oleh netlog, selalu mempertimbangkan 7 EU Safer Social Networking Principles (7 Prinsip Jejaring Sosial yang lebih Aman untuk Uni Eropa) . Contoh-contoh ancaman baru yang di muat di dalam pusat keamanan netlog adalah sebagai berikut : Grooming, whaling, pishing, program netlog, lotre netlog.
Pemanfaatan dan Pengembangan Masa Depan
Dilihat dari fasilitas yang ada membuat web dengan blog, menerbitkan foto, video, event dan bergabung dalam group, semoga saja bisa terus berkembang menjadi tempat untuk menuangkan kreatifitas dalam menulis, tempat  untuk mengasah kreatifitas,  dan dapat ikut bersaing dengan jejaring sosial lainnya.

Jumat, 23 Maret 2012

TUGAS PBO-MEMBUAT MENU INPUTAN MENGGUNAKAN BAHASA JAVA

Di dalam inputan ini kita menggunakan case untuk setiap bagian aritmatikanya.
Inilah listing programnya


import java.io.*; import javax.swing.*;
class aritmatika
{             
                public static void main(String[] args) throws IOException
                {
                                String a= JOptionPane.showInputDialog ("Menu Aritmatika \n 1. Penjumlahan \n 2.Pengurangan \n 3.Perkalian  \n 4.Pembagian");
                                int penjumlahan =Integer.parseInt(a);
                                switch (penjumlahan)
                                {
                                case 1:
                                                String b=JOptionPane.showInputDialog ("Masukan Nilai 1");
                                int x = Integer.parseInt(b);
                                                String c=JOptionPane.showInputDialog ("Masukan Nilai 2");
                                int y = Integer.parseInt(c);
                                int z=x+y;
                                System.out.println ("Hasilnya adalah "+z);
                                break;
                                case 2:
                                                String d=JOptionPane.showInputDialog ("Masukan Nilai 1");
                                int r = Integer.parseInt(d);
                                                String e=JOptionPane.showInputDialog ("Masukan Nilai 2");
                                int s = Integer.parseInt(e);
                                int t=r-s;
                                System.out.println ("Hasilnya adalah "+t);
                                break;
                                case 3 :
                                                String f=JOptionPane.showInputDialog ("Masukan Nilai 1");
                                int u = Integer.parseInt(f);
                                                String g=JOptionPane.showInputDialog ("Masukan Nilai 2");
                                int v = Integer.parseInt(g);
                                int w=u*v;
                                System.out.println ("Hasilnya adalah "+w);
                                break;
                                case 4 :
                                String h=JOptionPane.showInputDialog ("Masukan Nilai 1");
                                int k = Integer.parseInt(h);
                                                String i=JOptionPane.showInputDialog ("Masukan Nilai 2");
                                int l = Integer.parseInt(i);
                                int m=k/l;
                                System.out.println ("Hasilnya adalah "+m);
                                break;
default: System.out.println ("salah input");
}
}
}                             

Nah, sekarang kita akan bahas sekilas program tersebut. pada awal program, kita melihat fungsijava.iodanjavax.swing . java.io di sini berfungsi untuk memungkinkan program ini melakukan inputan, sedangkanjavax.swing di sini berfungsi untuk membuat tampilan GUI pada program. Setelah itu kita class pada program kita beri nama aritmatika. Ingat, setiap kita menyimpan program, nama file harus sama dengan nama class.Setelah itu, kita melihat throws IOExceptionyang berfungsi mencegah kesalahan yang berhubungan dengan IO. misalnya kita akan input dari keyboard berupa angka tapi kita salah menginputkannya yang harusnya angka kita masukkan string. Nah hal ini yang disebut kesalahan IO, untuk mengatasi error ini blok kesalahan harus dilempar ke blok khusus penanganan IO dalam hal ini IOException supaya error tadi tidak mengganggu program yang lain dansegera dilaporkan error apa yang terjadi.
Selanjutnya, kita akan menampilkan suatu tampilan GUI dengan menampilkan sebuah menu aritmatika, yaitu penjumlahan, pengurangan, perkalian, dan pembagian. Dari sinilah, kita akan menggunakan fungsi case break. Dan di dalam fungsi ini, kita cukup memasukkan fungsi aritmatika sesuai pilihan yang kita tentukan. Misalnya, saat kita memilih satu(1) dalam menu yaitu penjumlahan, maka kita masukkan
int z=x+y;
Apabila kita memilih dua (2) yang berarti pengurangan, maka kita masukkan
int t=r-s;
Apabila kita memilih tiga (3) yang berarti perkalian, maka kita masukkan
int w=u*v;
Apabila kita memilih empat (4) yang berarti pembagian, maka kita masukkan
int m=k/l;
Terakhir, apabila kita memilih angka yang tidak ada dalam menu, misalnya lima (5) maka akan keluar output salah input.

Outputnya :
Menu :
 Penjumlahan :
Pengurangan :
Perkalian :
Pembagian :
Apabila terjadi kesalahan input :
Nama : Fauzan Mulya Adiputra 
NPM : 52410642

Partner :
Nama : Priyo santoso
NPM : 55410403

Rabu, 14 Maret 2012

Jejaring Sosial Netlog





Social network atau jejaring sosial mulai marak di kalangan masyarakat saat ini. Sebut saja facebook, Twitter, Google +, thumblr, myspace, plurk, dan masih banyak lagi. Saat ini facebook dan twitter merupakan jejaring sosial yang paling populer menurut saya dibandingkan dengan yang lain. Dalam postingan kali ini saya akan menceritakan sedikit jejaring sosial yang bernama netlog. Saya baru beberapa hari ini mencoba netlog yang websitenya saya terima di dalam email dari teman kampus saya. Menurut saya netlog lumayan menarik dan memang harus lebih dikembangkan agar lebih baik lagi. Salah satuh hal di dalam netlog yang membuat saya sedikit penasaran adalah menu kencan yang tersedia di netlog. Saat saya mencoba membukanya, saya tersambung ke dalam suatu website baru yang bernama twoo.com. Dibandingkan dengan jejaring sosial lain, netlog menyediakan tempat yang bertujuan untuk mencari pasangan di dunia maya dengan sangat jelas. Mungkin lewat jejaring sosial lain kita dapat juga mencari pasangan atau jodoh, tetapi netlog telah menyediakan link untuk kita, dimana link tersebut memang diperuntukan untuk hal itu. Sedikit lucu juga untuk saya.

Sejarah Netlog

Tidak usah dicari melalui search engine manapun untuk mengetahui sedikit sejarah tentang netlog, netlog sedikit mengupasnya dalam “about” mereka. Sesudah saya membacanya, Netlog merupakan sebuah platform online yang diperuntukan untuk memperluas jaringan sosial. Dikembangkan oleh Massive Media NV, berpusat di Ghent, Belgia, Netlog tersedia dalam 40 bahasa dan memiliki lebih dari 95 juta anggota di seluruh Eropa, dan jumlah ini terus meningkat setiap hari, itulah yang saya baca pada saat itu. Selain itu netlog juga memuat bahwasanya netlog  adalah pemimpin di pasar page view menurut ComScore (jumlah halaman yang di akses) di Belgia, Italia, Austria, Swiss, Romania, dan Turki. Di Belanda, Jerman, Perancis,  dan portugal, netlog menempati urutakn ke dua.
Tidak puas dari informasi yang saya dapatkan tentang netlog, saya mulai mencari melalui serach engine dan menemukan seseroang yang memuat netlog di blog nya. Hasilnya, dia mempunyai informasi yang cukup bagi saya.
Di dalam blognya di tuliskan bahwa netlog dahulunya mempunyai nama Facebox dan Bingbox, jejaring sosial dari Belgia yang awalnya hanya untuk kalangan pemuda di eropa namun pada perkembangannya netlog  kemudian ditujukan ke seluruh dunia. Facebox bukanlah situs baru, situs ini adalah produk dari perusahaan Belgia InCrowd sebagai sebuah situs komunitas yang disebut ASL.TO - kemudian menjadi Redbox, jaringan sosial untuk Belgia. Situs ini didirikan pada Juli 2003 di Ghent, Belgia, oleh Lorenz Bogaert dan Toon Coppens, dan as of beginning .
Konsep netlog
Dari segi penampilan luarnya, jejaring sosial netlog mempunyai kemiripan dengan friendster. Netlog juga mempunyai timeline, ada activity updates teman-teman kita dan teriakan di spotlight, teriakan ini lebih  ke tulisan yang dimuat setiap member dan selalu berganti setiap saat seuai apa yang di tulisnya, kemudian di timeline ini terdapat blog di spotlight, jadi apabila kita posting sesuatu di dalam blog kita, akan muncul di spotlight netlog ini. Ada hal yang menarik lagi tentang netlog, ternyata di Netlog kita dapat membuat laman web dengan blog, foto, video, event, playlist dan masih banyak lagi. Jujur saya belum pernah mencobanya.  
Pemanfaatan dan Pengembangan Masa Depan
Dilihat dari fasilitas yang ada membuat web dengan blog, menerbitkan foto, video, event dan bergabung dalam group, semoga saja bisa terus berkembang dan lebih user friendly agar dapat ikut bersaing dengan jejaring sosial lainnya.

Kamis, 05 Januari 2012

Komentar Tentang Presentasi Setve Jobs

Menurut video yang saya lihat di youtube, komentar tentang presentasi Steve Jobs sangatlah menarik. Dengan pakaian yang casual dan penyajian materi yang komunikatif memukau orang-orang yang hadir pada presentasi itu. Video yang saya lihat itu berisi tentang icloud pada Apple WWDC 2011. Jujur saya baru pertama kali melihat presentasi Steve jobs dan saya langsung menyukai presentasi beliau, itu juga yang terjadi dengan orang-orang yang melihat langsung presentasi tersebut. Saya sangat kagum dengan icloud, kenapa? Karena "it just works". Semua email, calender, foto, dokumen, dapat disimpan di dalam icloud dan langsung di share ke device apple lainnya yang kita miliki secara otomatis, menyeluruh, dan tanpa kabel. Sebuah ide cemerlang yang disajikan oleh sang inovator, di mana ide ini belum dilakukan oleh kompetitor lainnya.

Minggu, 23 Oktober 2011

Does new media limit or expand our personal freedom?

Nowadays technology grows as fast as development of social networking.  Many people start to blogging, at least they have facebook account, either because of technology literacy reason or they just follow what is common stuff on the internet along they environment. Internet is the right place to find news, learn something new, and we can express what we feel on that time. For some cases, Internet can make someone famous. New media facilitate us with their great application, so that we can share our daily activities, upload our photos, share something with our friends. All we can do easily. 

But, does new media limit our  personal freedom? Can we go to jail because of what we have posted or shared? In my opinion, new media definitely is not limit our personal freedom. We have freedom of speech and freedom of the press. However, there are still some rules that must be obeyed. For example, you can posting any activities what you've done or about your friends, upload your own photos, comment on friend's status. But, if your share contain of pornography, ect. and it is flagged, your account will be deleted. 

So, be careful with your share, make sure that it's not contain pornography and hurt anybody or community. Internet can lead us to emotional intelligence to build community or network for help people.Be a smart people by using new media correctly.