Tuesday, October 20, 2015

Contoh program nested if c# ( console )

0


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            double harga,tot,jum;
            string cust,paket,lagi;
            Console.WriteLine(" Restoran"
                + "\n ======================"
                + "\n Menu :"
                + "\n a) Paket 1 .... RP 20.000"
                + "\n b) Paket 2 .... RP 25.000"
                + "\n c) Paket 3 .... RP 25.000"
                + "\n ======================"
                + "\n\n Form Pesanan"
                + "\n ----------------------");
            x:
            Console.Write(" Jenis Customer [M/N] : ");
            cust = Console.ReadLine().ToUpper();
            if(cust == "M")
            {
                ax:
                Console.Write(" Pilih Paket : ");
                paket = Console.ReadLine();
                if (paket == "1") 
                {
                    harga = 20000;
                }
                else if (paket == "2")
                {
                    harga = 25000;
                }
                else if (paket == "3")
                {
                    harga = 30000;
                }
                else
                {
                    goto ax;
                }
                Console.Write(" Jumlah Pesan = ");
                jum = Convert.ToDouble(Console.ReadLine());
                jum = jum * harga;
                Console.WriteLine("=================================");
                Console.WriteLine("     Sub Total = " + jum);
                Console.WriteLine("     Diskon    = 20%");
                tot = jum - (jum * 20 / 100);
                Console.WriteLine("     Total     = RP." + tot);
            }
            else if (cust == "N")
            {
                ax:
                Console.Write(" Pilih Paket : ");
                paket = Console.ReadLine();
                if (paket == "1")
                {
                    harga = 20000;
                }
                else if (paket == "2")
                {
                    harga = 25000;
                }
                else if (paket == "3")
                {
                    harga = 30000;
                }
                else
                {
                    goto ax;
                }
                Console.Write(" Jumlah Pesan = ");
                jum = Convert.ToDouble(Console.ReadLine());
                jum = jum * harga;
                Console.WriteLine("=================================");
                Console.WriteLine("     Sub Total = " + jum);
                Console.WriteLine("     Diskon    = 10%");
                tot = jum - (jum * 10 / 100);
                Console.WriteLine("     Total     = RP." + tot);
            }
            else
            {
                goto x;
            }
            Console.Write("Ingin Isi Lagi [Y/N] : ");
            lagi = Console.ReadLine().ToUpper();
            if (lagi == "Y")
            {
                Console.Clear();
                goto x;
            }
            else 
            {
                Console.Write("Press Enter To Exit : "); Console.ReadKey();
            }
        }
    }
}


Monday, September 21, 2015

KONSEP PEMROGRAMAN OOP

0

Pada bagian ini akan dibahas konsep-konsep penting dalam pemrograman berorientasi objek, sehingga diharapkan kita akan lebih mudah dalam mempelajari bahasa Java.

A. Objek


Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu :
  • Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.
  • Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.
Contoh sederhananya adalah : objek sepeda
  • Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
  • Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.
Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.

B. Class


Class berbeda dengan objek. Class merupakan prototipe yang mendefinisikan variabel-variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas.

C. Enkapsulasi

Dalam sebuah objek yang mengandung variabel-variabel dan methodmethod, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai bungkusan ( wrapper ) pelindung program dan data yang sedang diolah. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.

Manfaat dari proses enkapsulasi adalah :
  • Modularitas : Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
  • Information Hiding : Karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.

D. Inheritance


Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( methodmethod ) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) state dan behaviour yang diturunkan oleh superclass-nya.

Istilah dalam inheritance yang perlu diperhatikan :
  • Extends : Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
  • Superclass : Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.
  • Subclass : Subclass adalah class anak atau turunan secara hirarki dari superclass.
  • Super : Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.
  • Methode Overriding : Pendefinisian ulang method yang sama pada subclass.

E. Polimorfisme



Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :
  • Method yang dipanggil harus melalui variabel dari basis class atau superclass.
  • Method yang dipanggil harus juga menjadi method dari basis class.
  • Signature method harus sama baik pada superclass maupun subclass.
  • Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.

F. Interface


Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk komunikasi antar objek berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar objek tersebut.

PERBEDAAN PEMROGRAMAN TERSTRUKTUR DENGAN OOP

0


Dari pengertian pemrograman terstruktur dan pemrograman berorientasi objek itu sendiri kita dapat menyimpulkan, apa perbedaan dari pemrograman terstruktur dan pemrograman berorientasi objek itu. Pemrograman berorientasi objek (Object-Oriented Programming atau OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya, Sedangkan untuk pemrograman terstruktur adalah kebalikan dari pemrograman berorientasi objek yaitu sebuah cara pemrosesan data yang terstruktur dalam analisa, cara dan penulisan pemrograman. Dikarenakan harus terstruktur sehingga dalam pembuatannya antara satu line pemrograman dengan yang lainnya berhubungan. Konsep utama dari Pemrograman Berbasis Objek terletak pada kondisi kode/line pemrogramanannya dimana merupakan sebuah kesatuan modular. Untuk program yang simpel/sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit, maka digunakan pemrograman berorientasi objek. Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya, sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih dikenal dengan modular. Terdapat juga perbedaan secara spesifik antara Pemrograman Berorientasi Objek dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada Pemrograman Terstruktur tidak terdapat kelas dan objek. Berdasarkan penjelasan diatas, sangat jelas bahwa 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 (contohnya ketika dlakukan tracing program).

KEUNTUNGAN PEMROGRAMAN BERORIENTASI OBJEK

  • Maintenance program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
  • Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
  • Dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.

Jadi, sangat jelas bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.
Permodelan yang mana yang lebih bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.


PERBEDAAN MENDASAR ANTARA OOP DAN PEMROGRAMAN TERSTRUKTUR


Sistem pemrograman berorientasi objek, bentuk pemodelan programnya diorientasikan dalam bentuk objek – objek, sedangkan Sistem pemrograman terstruktur pemodelan programnya diuraikan dan diorganisasikan secara lebih detail. Konsep dasar pemrograman berorientasi objek dikelompokkan kedalam kelas, objek, abstraksi, enkapulasi dan Polimorfisme melalui pengiriman pesan, sedangkan konsep dasar pemrograman terstruktur harus mengandung teknik pemecahan masalah yang tepat dan benar, memiliki algoritma pemecahan masalah yang sederhana, standar dan efektif, penulisan program memiliki struktur logika yang benar dan mudah dipahami, program hanya memiliki 3 struktur dasar, yaitu : Struktur berurutan, struktur seleksi, dan struktur pengulangan, Menghindari penggunaan pernyataan GOTO, Memiliki dokumentasi yang baik. UML adalah contoh salah satu bahasa pemrograman yang berkonsepkan OOP, sedangkan DFD dan ERD adalah contoh bahasa pemrograman yang berkonsepkan pemrograman secara terstruktur. 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. Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri: Object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.

PENGERTIAN OOP (OBJECT ORIENTED PROGRAMMING)

0


OOP merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

BAHASA YANG MENDUKUNG PEMROGRAMAN OOP  :
  • Visual Foxpro
  • Java
  • C++
  • Pascal (bahasa pemrograman)
  • Visual Basic.NET
  • SIMULA
  • Smalltalk
  • Ruby
  • Python
  • PHP
  • C#
  • Delphi
  • Eiffel
  • Perl
  • Adobe Flash AS 3.0
KELEBIHAN PEMROGRAMAN BERORIENTASI OBJEK (OBJECT ORIENTED ANALISYS AND DESIGN)
metode OOAD melakukan pendekatan terhadap masalah dari prespektif objek tidak ada prespektif fungsional seperti pemograman terstruktur.
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).

PENGERTIAN PEMROGRAMAN TERSTRUKTUR

0


Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).

BAHASA PEMROGRAMAN YANG MENDUKUNG PEROGRAMAN TERSTRUKTUR
  • cobol turbo prolog
  • c
  • pascal
  • delphi
  • borland delphi.
SIFAT - SIFAT PEMROGRAMAN TERSTRUKTUR
  • Memuat teknik pemecahan masalah yang logis dan sistematis
  • Memuat algoritma yang efisien, efektif dan sederhana
  • Program disusun dengan logika yang mudah dipahami
  • Tidak menggunakan perintah GOTO
  • Biaya pengujian program relatif rendah
  • Memiliki dokumentasi yang baik
  • Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
KELEBIHAN DAN KEKURANGAN PEMROGRAMAN TERSTRUKTUR (STRUCTURED ANALISYS AND DESIGN / SSAD)

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).

Tuesday, April 28, 2015

Tutorial DHCP dan DNS Server Cisco Packet Tracer

0
 Gambar diatas adalah hasil final yang kita akan buat, untuk persiapan pertama yang Anda butuhkan adalah :
  1. Klik bagian end device pilih server (2 buah)
  2. Klik bagian end device pilih pc (3 buah)
  3. Klik bagian switch dan pilih salah satu dari switch
  4. Kabel yang digunakan straight
2) Langkah kedua yang harus Anda lakukan adalah setting DNS Server, yang pertama kita lakukan adalah mengatur IP dalam kasus ini saya menggunakan IP address 192.168.1.2 dengan subnet mask 255.255.255.0

 
Setelah selesai setting IP Anda harus setting DNS, pilih tab config dan klik bagian DNS (masih di Server DNS)

 3) Setelah mengatur bagian DNS Server, sekarang kita akan atur bagian DHCP Server sama seperti DNS Server kita pertama harus mengatur IP, disini saya menggunakan 192.168.1.1 dan Subnet Mask 255.255.255.0 tapi tidak hanya itu kita perlu atur juga gateway dan DNS Server. DNS Server di isi sesuai apa yang tadi Anda buat, karena tadi saya menggunakan 192.168.1.2 maka saya mengisi dengan itu dan default gateway di isi dengan IP DHCP Server.



Langkah kedua kita kebagian config > DHCP,
  • Pool Name diisi sesuka Anda. 
  • Default gateway dan DNS Server sesuai yang tadi saya jelaskan. 
  • Kemudian Start IP adalah dimana IP Pertama yang akan digunakan di PC, karena (.1) dan (.2) sudah digunakan pada DHCP dan DNS. Maka IP Address akan dimulai dari 192.168.1.3
  • Subnet mask sesuai kebutuhan user ingat lagi tentang pembagian IP (subnetting). 
  • Maximum number of users diisi jumlah maksimal user.
  • Kemudian klik save.

4) Kita akan coba DHCP kita berhasil atau tidak kita cek dengan cara setting IP pada PC0 klik pada bagian DHCP tunggu sebentar kita lihat apakah dia mendapatkan IP dengan benar. Jika iya maka Anda berhasil, seperti ini gambarannya.

  
5) Kembali ke DNS Server kita setting bagian HTTP  Atur sesuka Anda. dibawah adala contoh gambar yang saya gunakan.
 

6) Dan yang terakhir coba buka Web Browser pada PC0 kemudian ketikkan domain yang Anda setting tadi. Jika sudah sesuai dengan pengaturan Anda maka Anda sudah sukses.


Demikian tutorial kali ini semoga bermanfaat.

crd bsi