Laman

Rabu, 27 Mei 2015

Pilih Distro Linux untuk Mahasiswa IT (Informatika)

Halo kawan pembaca. Kali ini kita akan ngobrol-ngobrol pilihan tepat distro Linux yang paling cocok untuk para mahasiswa IT yang mau pakai pure Opensource Linux OS. Di kalangan anak-anak IT sekarang pakai Linux merupakan nilai kekerenan tersendiri, kayak penulis yang keren ini (modus).

Langsung saja penulis paparkan distro linux yang layak dipakai mahasiswa informatika.

Menurut penulis, kita-kita mahasiswa informatika yang mau pakai linux baiknya menggunakan distro Ubuntu server LTS. Kenapa begitu?, karena Ubuntu server LTS sudah merupakan paket lengkap server, diantaranyawed server dan DNS server yang pastinya dibutuhkan dalam mata kuliah berbau PHP.

Desktop grafis user interface atau GUI-nya penulis memilih XFCE yang lumayan ringan dibanding beberapa user interface terkenal lain karena penulis juga pakai netbook intel atom dengan Ubuntu 14.04 XFCE ternyata kuat Bro. Jadilah Xubuntu Server nancep di netbook jadul dengan nyaman dan tidak beralih.

pilih distro linux server, linux server untuk anak informatika, linux untuk anak ti, linux untuk anak it, ubuntu server, gui untuk server, distro linux yang cocok


Selain itu XFCE rilis terbaru (2015) tampilannya sudah ciamik, tidak lagi jadul dan elegan-nya tidak diragukan lagi.

Pengalaman penulis saat instalasi, dengan netbook intel atom, usb installer, connect internet via Lan ke modem spidol itu membutuhkan waktu sekitar kurang dari 24 jam karena ternyata langsung download banyak paket pelengkap. Belum terhitung waktu yang penulis habiskan untuk beberapa percobaan gagal sebelumnya. Hampir seminggu pengguna Ubuntu newbie ini utak-atik laptop intel atom dengan installer USB.

Alhamdulillah ya, sekarang sudah pakai software yang halal dan legal semua ini laptop. Terbayar sudah pusing seminggu itu. Ayo gunakan Linux!

Senin, 18 Mei 2015

Pholimorphism, Banyak Method Program Kembar dan Manfaatnya

Haloo.. Kawan sekalian. Kali ini kita akan kembali ngobrol tentang OOP. Kali ini spesifik tentang pholimorphism yang pada penampakan codingnya berupa beberpa method dengan nama kembar. Apa tidak error? Tentu tidak dengan beberapa ketentuan.

Ketentuannya sebagai berikut :
- Harus memiliki parameter yang type datanya berbeda atau jumlah yang berbeda.
- Isis dari masing-masing method boleh berbeda-beda

Apa manfaatnya?

Tentu kita tahu ada type data integer dan double diantara banyak type data lainnya. Kadang kita membutuhkan integer, kadang juga butuh double untuk dijadikan parameter. Jadi dengan nama method yang sama, bisa secara otomatis memberi option bagi inputan parameter. Kalau nilai yang diinputkan sebagai parameter berupa integer, method dengan parameter integer yang akan berjalan. Sebaliknya jika nilai yang diinputkan berupa double, method dengan parameter double yang berjalan.

Bagaimana codingnya ?

- C#
using System;

namespace OOP2Pholimorphism
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.Write ("Total Untungnya : ");
            penjualan (3000, 2000, 10);

            Console.Write ("Total Untungnya : ");
            penjualan (3000, 2000, 5.5);
        }

        static void penjualan (int hjual, int hbeli, int banyak)
        {
            int untung;

            untung = hjual - hbeli;
            untung = untung * banyak;

            Console.WriteLine (untung);
        }

        static void penjualan (int hjual, int hbeli, double banyak)
        {
            double untung;

            untung = hjual - hbeli;
            untung = untung * banyak;

            Console.WriteLine (untung);
        }
    }
}
- C++
#include <iostream>

using namespace std;

class jualan
{
    public :
    double untung;

    void penjualan (int hjual, int hbeli, int banyaknya)
    {
        untung = hjual - hbeli;
        untung = untung * banyaknya;

        cout<<untung<<endl;
    }

    void penjualan (int hjual, int hbeli, double banyaknya)
    {
        untung = hjual - hbeli;
        untung = untung * banyaknya;

        cout<<untung<<endl;
    }
};

int main()
{
    jualan j;

    cout<<"Hasil Penjualan Anda Rp ";
    j.penjualan(9000, 7000, 10);

    cout<<"Hasil Penjualan Anda Rp ";
    j.penjualan(9000, 7000, 10.5);

    return 0;
}
- Java
package pholimorphism;

public class pholimorphism {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        jual j = new jual();
        j.penjualan(5800, 3200, 10);
       
        j.penjualan(5800, 3200, 10.5);
    }
}

 class jual
{
    public double untung;
   
    void penjualan(int hjual, int hbeli, int banyaknya)
    {
        untung = hjual - hbeli;
        untung = untung * banyaknya;
       
        System.out.println("Keuntungan Anda : Rp "+untung);
    }
   
    void penjualan(int hjual, int hbeli, double banyaknya)
    {
        untung = hjual - hbeli;
        untung = untung * banyaknya;
       
        System.out.println("Keuntungan Anda : Rp "+untung);
    }
}
Hasilnya bagaima?


Method baris pertama merupakan hasil dari method dengan parameter type integer. Baris kedua nerupakan hasil dari method dengan parameter type double.



Inheritance, Harta Warisan Sang Nenek Moyang Program

Heyy... Kawan semua, kali ini kita akan ngobrol-ngobrol lagi. Kali ini masih tentang pemrograman object oriented. Apanya yang dibahas lagi? Inheritance.

Tahu kan apa itu class dan object? Ternyata harta kekayaan sebuah class yang berupa property, method dan berbagai proses di dalam class itu bisa diwariskan kepada class lain yang lebih baru (pembuatannya).

Apa fungsinya? Tentu saja bisa menghemat waktu. Bayangkan ada 43 method dalam class A, kita butuh 38 method yang sama dengan sebagian method di class A untuk ditempatkan di class B. Nggak mungkin ditulis ulang kali ya?? Dicopast juga menuhin tempat aja kan? Pakai alias juga masih tetep ribet.

Kita suruh saja si class A mewariskan semua method dan propertinya kepada class B. Nanti di class B sendiri kita bisa pilih-pilih mana method yang kita perlukan, bisa langsung dipakai dengan fungsi persis ketika dijalankan di class A tanpa coding ulang ataupun alias.

Pada contoh kali ini, kita akam menggunakan analogi antara seorang mbah yang mewariskan Emas 24 karat kepada cucunya. Sedangkan cucunya telah memiliki mobil sport mewah. Tapi setelah proses inheritance, apa saja benda kekayaan sang cucu?

-C#
using System;

namespace OOP2Inheritance
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            cucu c = new cucu();
            c.punyacucu();
        }
    }

    public class mbah
    {
        public void punyambah()
        {
            string benda;
            benda = "Emas 24 Karat";

            Console.WriteLine ("Barang Berharga Saya " + benda);
        }
    }

    public class cucu : mbah
    {
        public void punyacucu()
        {
            string benda;
            benda = "Mobil Sport Mewah";

            this.punyambah ();

            Console.WriteLine ("Barang Berharga Saya " + benda);
        }
    }
}
- C++
#include <iostream>

using namespace std;

class mbah
{
    public:

    void punyambah()
    {
        string benda;
        benda = "Emas Murni 24 Karat";

        cout<<"Benda Berhargaku "<<benda<<endl;
    }
};

class cucu : mbah
{
    public :

    void punyacucu()
    {
        string benda;
        benda = "Mobil Sport Mewah";

        punyambah();

        cout<<"Benda Berhargaku "<<benda<<endl;
    }
};

int main()
{
    cucu c;
    c.punyacucu();

    return 0;
}
- Java
#include <iostream>

using namespace std;

class mbah
{
    public:

    void punyambah()
    {
        string benda;
        benda = "Emas Murni 24 Karat";

        cout<<"Benda Berhargaku "<<benda<<endl;
    }
};

class cucu : mbah
{
    public :

    void punyacucu()
    {
        string benda;
        benda = "Mobil Sport Mewah";

        punyambah();

        cout<<"Benda Berhargaku "<<benda<<endl;
    }
};

int main()
{
    cucu c;
    c.punyacucu();

    return 0;
}
Kemudian menampilkan hasil sebagai berikut :

Pada kasus yang lebih real, seperti yang sudah disebutkan sebelumnya, bisa jadi class mbah berisi 80-an method baik berupa fucntion maupun procedure. Ketika class cucu membuthukan 80 method, tidak perlu copy paste sehingga boros catatan, maka bisa dibuat mbah mewariskan 80 methodnya dan semua properti.

Inheritance sangat membantu dalam pemrograman berbasis object oriented dan memang menjadi salah satu komponen penting dalam metode pemrograman berbasis object oriented.

Overriding, Solusi Galau ketika Inheritance bertemu Pholimorphism

Heeeyy.. Selamat datang kembali kawan pembaca. Kali ini kita akan ngobrolin Overriding di dalam pemrograman metode pemrograman object oriented. Kali ini kita anggap bahwa kita sudah semakin pintar dan paham apa itu Inheritance dan Pholimorphism.

Ternyata di saat-saat tertentu keduanya bertemu dalam satu program dan membuat kita semakin puyeng. Tapi ternyata dengan memahami Overriding, kita tidak akan puyeng lagi menemukan si Pholimorphism dangan Inheritance.



Langsung saja, bagaimana kita menerapkan Overriding terhadap Pholimorphism dan Inheritance dalam codingnya, berikut contohnya :

-C#
using System;

namespace OOP2Overridingku
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            ahliwar a = new ahliwar ();

            a.warna ();
        }
    }

    public class pewaris
    {
        public virtual void bentuk()
        {
            string bentuknya;

            bentuknya = "kotak";

            Console.WriteLine ("Bentuknya "+bentuknya);
        }
    }

    public class ahliwar : pewaris
    {
        public override void bentuk()
        {
            string bentuknya;

            bentuknya = "limas";

            Console.WriteLine ("Bentuknya "+bentuknya);
        }

        public void warna()
        {
            string warnanya;

            this.bentuk ();

            warnanya = "kuning";

            Console.WriteLine ("Warnanya "+warnanya);
        }
    }
}

-C++
#include <iostream>

using namespace std;

class pewaris
{
    public:

    virtual void bentuk()
    {
        string bentuknya;
        bentuknya = "Kotak";

        cout<<"Bentuknya "<<bentuknya<<endl;
    }
};

class ahliwar : public pewaris
{
    public :

    void bentuk()
    {
        string bentuknya;
        bentuknya = "Kerucut";

        cout<<"Bentuknya "<<bentuknya<<endl;
    }

    void warna()
    {
        string warnanya;
        warnanya = "Merah";

        bentuk();

        cout<<"Warnanya "<<warnanya<<endl;
    }
};


int main()
{
    ahliwar a;

    a.warna();

    return 0;
}

- Java
 public class overriding
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        ahliwaris w = new ahliwaris();
       
        w.warna();
    }
}

class pewaris
{
    public void bentuk()
    {
        String bentuk;
       
        bentuk = "Panjang";
        System.out.print("Bentuknya "+bentuk);
    }
}

class ahliwaris extends pewaris
{
    @Override
    public void bentuk()
    {
        String bentuk;
       
        bentuk = "Kotak Panjang";
        System.out.println("Bentuknya "+bentuk);
    }
   
    public void warna()
    {
        String warna;
       
        this.bentuk();
       
        warna = "Merah";
        System.out.println("Warnanya "+warna);
    }
   
}
Kurang lebih tampilan yang dikeluarkan akan seperti gambar berikut :


Overriding di atas telah berhasil menemukan sifat penurunan class inheritance dan banyak kembaran methode Pholimorphism.

Minggu, 17 Mei 2015

Method dan Properti beserta Proses-proses di dalam Class

Heeee... Selamat datang kawan pembaca sekalian. Kali ini kita akan ngobrol-ngobrol tentang method, properti dan berbagai kegiatan di dalam class.

Sudah di sebutkan dalam obrolan class kita bahwa untuk membentuk sebuah object, di dalam class harus terjadi proses pembentukan object. Kita harus mengenal apa-apa yang ada di dalam class.

1. Variabel
Seperti biasa, dalam coding kita, kita sering kali membutuhkan variabel.

2. Method
Method bisa berupa function ataupun prosedur yang bisa dimasukkan ke class dan membantu dalam proses pembentukan obyek. Method yang kita buat bisa berupa method private yang hanya bisa dipanggil di dalam class itu saja atau method public yang bisa dipanggil dari lain class.

3. Properti
Properti merupakan bentuk public dari variabel biasa. Sehingga sudah pasti properti yang merupakan variabel publik ini bisa dipanggil dari class lain.

Dengan 3 komponen utama di atas, para ahli programing menganggap class sudah bisa difungsikan secara optimal. Maka bagaimanapun tugas OOP dari dosenmu pasti bisa dikerjakan, asalakan kamu bisa mengoptimalkan kegiatan-kegiatan di dalam class seperti dengan penggunaan array, perulangan, struct, decision dan lain sebagainya.

Berikut contoh coding class  :
- C#
using System;

namespace OOP2insertobject
{
    class jualan //class buatan saya
    {
        public int untung; //properti

        public void hitunguntung(int hjual, int hbeli) //method berupa prosedur
        {
            untung = hjual - hbeli;
        }
    }

    class MainClass
    {
        public static void Main (string[] args)
        {
            jualan j = new jualan() // Bagian 1
            j.hitunguntung(50000, 23000); // Bagian 2

            Console.WriteLine ("Keuntungan Anda : "+j.untung); // Bagian 3
        }
    }
}
- C++
 #include <iostream>

using namespace std;

class jual
{
    private :

    public :
    int untung;

    void hitunguntung (int hjual, int hbeli)
    {
        untung = hjual - hbeli;
    }
};

int main()
{
    jual b;
    b.hitunguntung(3000,2000);
    cout << "Untungnya "<< b.untung<< endl;

    b.hitunguntung(2875020,1478900);
    cout << "Untungnya "<< b.untung<< endl;
    return 0;
}
- Java
 package inputobject;

public class inputobject {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        jual j = new jual();
      
        j.jualan(3000, 2000);
    }
}

class jual
{
    public void jualan(int hjual, int hbeli)
    {
        int untung;
      
        untung = hjual - hbeli;
      
        System.out.println("Keuntungannya : "+untung);
      
    }
}
Dalam contoh kita di atas, bisa di lihat bahwa di Bagian 1 kita membuat alias class jualan sebagai j, pembuatan alias ini juga berfungsi sebagai penyambung antara satu class dengan class yang lain. Pada Bagian 2 kita memanggil method hitung untung dengan disertai dua parameter dengan type integer.

Kegiatan yang ada di dalam class ternyata menghasilkan object berupa untung. Selain itu variabel untung juga berperan sebagai properti di dalam class jualan tersebut. Pada akhirnya properti untung dipanggil lagi di Bagian 3 sebagai hasil yang ditampilkan. Dan berikut hasilnya :

Method dan properti dalam class jualan kita di atas telah bekerja sama dengan baik sehingga terbentuklah object yang baik pula.

Pengertian Class dan Object dalam Object Oriented Programming

 Hiiiiiii... Terimakasih telah berkunjung. Kali ini kita akan ngobrol tentang pengertian object dan class dalam pemrograman object oriented.

OOP (object oriented programing) adalah sebuah metode kerja pemrograman yang bisa menghindarkan kita dari oding yang terlalu panjang dan letak error yang sulit dideteksi. Metode kerja OOP ini akan sangat terasa manfaatnya jika kita membuat program yang sangat besar dan membutuhkan code program yang sangat banyak dan kompleks. Kita-kita yang masih newbie mungkin tidak begitu merasakan manfaatnya, jadi dipelajari saja dulu yuk..



Pengertian class dalam OOP adalah cetakan/mold penghasil object. Maka object adalah hasil akhir atau produk jadi dari proses yang ada di dalam class.

Maka di dalam class ada berbagai kegiatan yang pada akhirnya harus mampu menciptakan obyek. Lalu kenapa kita butuh cetakan class dalam coding kita?

Jawabannya, untuk menyingkat pekerjaan. Mengapa bisa? Bukannya membuat class akan nambah-nambah coding kita?

Jawabannya, class akan sangat membantu dalam pembangunan program yang besar. Seumapama dalam program besar yang kita bangun, kita berkali-kali membutuhkan perhitungan matematika sebagai berikut di program kita (kalau malas baca rumusnya berarti anda sehat): hasil = a x b + d + a + w: (4 + 3 :2)  + * j + k _ r + q_* 2 * 10 : t + r + f  +  w - t + t : g + j + k - e - t - f : g : j : w * d * 5 * 7 * r * 4 * s + f * 7 + 1  a * m - 2 - r : 4 + 5 * z - x : y - h - b  - e - n - m - o - 20 + g + 40, p : 2, hasil = hasil * 3 + 77 : 2.

Daripada menuliskan rumus aneh begitu berulang-ulang, pembentukan class baru yang berisi perhitungan rumus yang aneh dan panjang itu bisa menjadi alternatif yang bisa dipanggil saat-saat diperlukan.

Lalu bagaimana proses lebih dalam tentang apa-apa yang ada di dalam class? Bagaimana menyusun proses-proses itu? Akan kita bahas dalam tulisan berikutnya tentang Method dan Properti.