Monday, October 24, 2011

Object Oriented Programming: Konsep Class dalam C#.NET


Pada pembahasan sebelumnya kita sudah mengetahui manfaat penggunaan class sebagai salah satu alat untuk pemrosesan data. Pada artikel ini kita akan membahas lebih dalam tentang pemahaman konsep class dalam C#.NET. Bagi kita yang sudah pernah belajar bahasa pemrograman lain yang juga menerapkan paradigma object oriented programming seperti Java tentu akan lebih mudah memahami karena pada dasarnya konsep class pada C#.NET maupun Java adalah sama. Yang sedikit membedakan hanyalah pada implementasi code-nya saja. Untuk lebih memudahkan pemahaman konsep class, dalam artikel ini kita tidak hanya membahas konsep class secara teori dan contoh umum melainkan kita akan membedah contoh langsung dari aplikasi yang pernah kita buat.

Keterkaitan Objek dan Class

Di dunia nyata, kita dapat menemui banyak sekali objek (object) seperti buku, mobil, rumah, manusia, dll. Pada umumnya, objek-objek dapat dikenali dari kata-kata benda yang kita ketahui. Setiap objek pasti mempunyai ciri-ciri yang spesifik selain ciri-ciri yang mungkin sama dengan yang objek yang lain. Misalnya, objek buku mempunyai salah satu ciri yaitu judul yang tidak akan ditemui pada objek mobil. Mobil juga mempunyai salah satu ciri yaitu jenis mesinyang tidak dimiliki oleh objek buku. Objek buku dan mobil juga dapat mempunyai ciri yang sama misalnya warna. Setiap objek biasanya mempunyai perilaku tertentu. Misalnya, mobil punya perilaku berlari, manusia punya perilaku membaca dan lain-lain. Poin penting yang perlu kita perhatikan di sini adalah objek memiliki wujud, ciri-ciri, dan perilaku atau tindakan.
Pada pemrograman berorientasi objek (object oriented programming) atau biasa disingkat OOP, objek digunakan sebagai dasar pemikiran. Objek digambarkan sebagai sesuatu yang mempunyai wujud, ciri-ciri, dan perilaku masing-masing. Dengan kemampuan itu pula maka suatu objek dapat berinteraksi dengan objek yang lain. Dalam OOP, setiap objek akan direprentasikan dalam sebuah class. Jadi, class merupakan bentuk representasi objek dalam dunia nyata dalam OOP. Suatu class dapat mengandung beberapa property yang merepresentasikan ciri-ciri dari objek serta beberapa method atau function yang mereprentasikan perilaku dari objek.

Struktur Code Sebuah Class

Kita akan membedah kembali code untuk class GuestBook yang sudah pernah kita buat sebelumnya (lihat PoetryWeb4). Berikut ini ditampilkan struktur code dari class GuestBook dengan beberapa modifikasi yaitu penyederhanaan jumlah property serta penyertaan fungsi.
1 public class GuestBook
2 {
3    public GuestBook()
4    {
5        _Name = "Anonim";
6    }
7
8    private string _Name = string.Empty;
9    public string Name
10    {
11        get { return _Name; }
12        set { _Name = value; }
13    }
14
15    private string _Address = string.Empty;
16    public string Address
17    {
18        get { return _Address; }
19        set { _Address = value; }
20    }
21
22    public string GetInfo()
23    {
24        return _Name + " from " + _Address;
25    }
26 }
Baris pertama code menunjukkan cara kita mendefinisikan sebuah class yaitu dengan awalan “public class” diikuti dengan nama class. Kata public merupakan salah satu bentuk modifierselain protected dan private yang menandakan level akses ke class. Kata “class” sendiri adalah penanda yang diperlukan oleh compiler C# untuk mengenali class yang kita definisikan. Selanjutnya, definisi atau code dari sebuah class dituliskan di antara sepasang kurung kurawal {}.

Constructor

Baris ke-3 memiliki bentuk yang mirip dengan baris definisi class di baris pertama. Perbedaannya adalah tidak adanya kata “class” dan keberadaan () di akhir nama class. Bagian inilah yang disebut sebagai constructor dari sebuah class. Bentuknya sebuah fungsi yang tidak memiliki tanda kembalian (return type) dan memiliki nama yang sama dengan nama class. Pengertian fungsi dan return type akan kita bahas selanjutnya dalam artikel ini. Baris ke-4 s.d. ke-6 menunjukkan definisi dari constructor yang dapat kita isi dengan code tertentu yang kita perlukan. Pada umumnya, code di dalam constructor ini melakukan proses inisialisasi setiap variabel atau property yang dimiliki oleh class. Dalam contoh di atas, constructor melakukan inisialisasi variabel _Name yang dimiliki oleh class GuestBook. Setiap constructor dari sebuah class akan selalu dipanggil atau dijalankan secara otomatis ketika sebuah sebuahinstance dari class tersebut dibuat. Perhatikan code berikut:
1 // sebuah instance dibuat, diberi nama tamu1
2 GuestBook tamu1 = new GuestBook();
3 // satu instance lagi dibuat dan diberi nama tamu2
4 GuestBook tamu2 = new GuestBook();
5
6 // menampilkan isi property Name dari tamu1
7 lblName.Text = tamu1.Name;
8 // mengubah isi property Name dari tamu2
9 tamu2.Name = "Gatot Wahyudi";
10 // menampilkan isi property Name dari tamu2
11 lblName.Text = tamu2.Name;
Class dapat diibaratkan sebagai sebuah pabrik objek sedangkan instance dari class adalah setiap objek yang diproduksi oleh pabrik tersebut. Contoh di atas menunjukkan bahwa GuestBook merupakan pabrik dari objek. Adapun tamu1 dan tamu2 merupakan instance dari class GuestBook. Setiap instance inilah yang nantinya mempunyai ciri spesifik masing-masing. Contoh yang lain misalnya kita mempunyai class Mobil maka instance yang dapat dibuat antara lain Honda dan Ferrari dimana kita mengetahui masing-masing instance tersebut adalah sama-sama objek Mobil namun memiliki ciri-ciri yang berbeda dari segi nama, ukuran mesin, kecepatan maksimum, dll.
Pada contoh cuplikan code di atas kita juga mencoba untuk menampilkan isi dari property Namedari objek tamu1 pada label lblName. Dengan perintah tersebut kita akan mendapati bahwa label lblName akan menampilkan teks “Anonim”. Bagaimana bisa demikian sedangkan kita belum pernah mengubah property Name dari objek tamu1? Jawabannya adalah pengaruh dariconstructor. Seperti yang sudah dijelaskan sebelumnya, ketika sebuah instance dibuat makaconstructor akan dipanggil atau dijalankan secara otomatis. Dengan kata lain, setiap baris perintah pada code di dalam constructor akan dieksekusi. Pada code class GuestBook, pada awalnya property _Name didefinisikan untuk berisi string kosong atau “” melalui perintahprivate string _Name = string.Empty;. Selanjutnya, code di dalam constructor melakukan perubahan nilai dari property _Name dengan teks “Anonim”. Dengan demikian, secara otomatis setiap kita membuat instance dari class GuestBook maka property _Name akan selalu berisi teks “Anonim”. Ini berarti property _Name pada instance tamu2 juga bernilai “Anonim” ketika pertama kali dibuat. Nilai property tersebut baru berubah ketika code tamu2.Name = “Gatot Wahyudi”;dieksekusi.

Property

Pada dasarnya yang dimaksud dari property suatu class adalah setiap variabel yang didefinisikan untuk menyimpan segala informasi terkait class tersebut. Dari code class di atas, pada dasarnya class GuestBook hanya mengandung dua buah property yaitu _Name dan _Address yang sama-sama berjenis string. Jadi, code yang yang menunjukkan definisi tersebut hanya pada baris ke-8 dan ke-15 seperti cuplikan berikut:
...
8    private string _Name = string.Empty;
...
15    private string _Address = string.Empty;
...
Pada umumnya setiap property dari suatu class didefinisikan dengan modifier “private” yang menandakan bahwa objek lain atau perintah di luar objek tidak dibolehkan untuk mengubah nilainya secara langsung. Pada bahasa pemrograman Java, satu-satunya cara untuk mengubah nilai dari sebuah property adalah melalui sebuah fungsi atau method. Ini merupakan bentuk dari apa yang dinamakan enkapsulasi (encapsulation). Enkapsulasi merupakan sebuah cara untuk menyembunyikan detil dari suatu objek. Dalam hal ini, code perintah tidak perlu tahu bagaimana property dari sebuah class disimpan. Code perintah atau objek di luar class hanya diperbolehkan untuk ‘meminta’ objek yang bersangkutan untuk melakukan dengan caranya sendiri. Karena itu objek dari luar melakukan permintaan perubahan nilai property dengan mekanisme pemanggilan fungsi. Selanjutnya class yang bersangkutan akan mendefinisikan sendiri caranya mengubah nilai property berdasarkan definisi fungsi tersebut.
Pada dasarnya C# sebagai penganut OOP juga mengharuskan penggunaan fungsi sebagai cara untuk meminta sebuah objek untuk memodifikasi nilai dari property-nya. Namun, C# sedikit berbeda dengan Java dimana kita tidak perlu membuat dua fungsi untuk mengakses dan mengubah nilai dari setiap property. C# mengenal apa yang dinamakan accessor atau aksesor. Aksesor berbentuk seperti fungsi karena mengandung return type tetapi tidak mengandung argument sehingga tidak memerlukan tanda “()” setelah nama aksesor. Biasanya satu buah accessor yang didefinisikan merepresentasikan satu buah property dari class. Sebuah accessor dapat mengandung aksesor get saja, aksesor set saja atau bahkan keduanya. Aksesor get berfungsi mengembalikan nilai yang sesuai dengan jenis property. Jika property didefinisikan sebagai property berjenis string maka aksesor get harus mengembalikan string pula. Aksesor set berfungsi melakukan perubahan terhadap nilai property dengan perintah implisit value. Nilai yang kita gunakan untuk mengeset property harus sama dengan jenis dari property.
Dengan penjelasan di atas berarti seharusnya kita sudah memahami definisi aksesor untuk property _Name pada class GuestBook. Berikut ini adalah cuplikan code class GuestBook khusus pada pada bagian property _Name dan aksesor Name.
...
8    private string _Name = string.Empty;
9    public string Name
10    {
11        get { return _Name; }
12        set { _Name = value; }
13    }
...
Berikut ini adalah contoh penggunakan aksesor Name tersebut:
1 // mengeset nilai property Name
2 tamu1.Name = "Aisyah Putri";
3
4 // mengakses nilai property Name
5 lblName.Text = tamu1.Name;
Perlu diketahui bahwa aksesor get dan set akan dipanggil secara otomatis sesuai dengan bentuk perintah. Jika perintahnya berbentuk penugasan (assignment) seperti pada baris kedua di atas maka yang dieksekusi adalah code aksesor set. Jika perintahnya berbentuk pengaksesan seperti pada baris kelima maka yang dieksekusi adalah code aksesor get. Sebagai pembahasan terakhir di bagian Property class, kita perlu melakukan redefinisi istilah property terkait implementasinya dalam code C#. Dengan adanya implementasi aksesor maka nama aksesor itulah yang akhirnya disebut sebagai property class. Adapun variabel yang berkaitan dengan aksesor disebut sebagai field class. Pada contoh code GuestBook, bagian code public string Name { … } menandakan definisi property Name sedangkan bagian codeprivate string _Name = string.Empty; menandakan definisi dari sebuah field _Name. Selanjutnya, property Name berkorespondensi dengan field _Name yang artinya setiap perintah get dan set dari aksesor Name akan berhubungan dengan pengaksesan dan penugasan pada field _Name. Pada umumnya, nama property dan field yang bersesuaian dibuat mirip seperti contoh Name dan _Name atau Address dan _Address. Tujuannya adalah untuk memudahkan mengingat dan kerapian code. Namun, pada dasarnya tidak ada aturan khusus untuk mengaitkan nama property dan field.

Method atau Function

Method atau function atau fungsi merupakan representasi dari perilaku objek. Istilah method lebih umum dikenal pada bahasa pemrograman Java sedangkan pada C# lebih dikenal dengan istilah fungsi. Baik method maupun fungsi mempunyai maksud yang sama. Jika kita melihat contoh objek di dunia nyata, misalnya Mobil, mobil mempunyai beberapa fungsi yang dapat dia jalankan seperti berlari, mengerem, dan berbunyi (klakson). Perilaku ini dapat direpresentasikan dalam fungsi misalnya run()brake(), dan horn(). Pada umumnya, setiap fungsi mempunyai jenis kembalian atau return type dari hasil eksekusi fungsinya. Sebagai contoh fungsi fungsi run() akan menghasilkan mobil dalam kondisi berlari, fungsi brake() menghasilkan mobil dalam kondisi berhenti, dan fungsi horn() menghasilkan bunyi klakson. Selain itu, sifat fungsi ada yang dapat diakses atau dipicu dari luar atau hanya bisa dipicu oleh objek itu sendiri. Sebagi contoh, fungsi brake() pada mobil bisa dilakukan oleh manusia yang mengendarainya namun bisa terdapat fungsi lain misalnya pengatur AC yang berjalan otomatis. Dalam fungsi, jenis akses ini dikenal sebagai modifier. Modifier yang umum dikenal ada 3(tiga) yaitu publicprotected, dan private. Modifier public menandakan bahwa fungsi dapat diakses dari objek lain, protected menandakan bahwa fungsi dapat diakses oleh objek lain dalam satu keturunan (inheritance), dan private menandakan bahwa fungsi hanya dapat diakses oleh objek yang bersangkutan saja. Adanya tanda () pada fungsi menandakan bahwa sebuah fungsi dapat menerima arguments yang berjumlah dari nol sampai dengan sesuai kebutuhan. Arguments pada fungsi merepresentasikan input atau masukan yang akan diproses dalam fungsi. Contoh nyata bentuk argumen untuk fungsi mengerem pada mobil adalah besarnya tekanan kaki kita pada pedal rem.
Berikut ini adalah beberapa contoh definisi fungsi dengan beberapa jenis modifierreturn type, dan jumlah argument:
public int Break(decimal power)
{
if(power == 100) return 1;
else return 0;
}

protected string SayHello()
{
return "Hello World";
}

private void Run(decimal power, int gear)
{
if(power > 0 &&  gear > 0) _IsRun = true;
}
Demikianlah pembahasan singkat kita tentang salah satu konsep dasar dan penting pada bahasa pemrograman berorientasi objek C#.NET. Walaupun mungkin tidak terlalu panjang, semoga lebih memudahkan pemahaman kita tentang konsep OOP terutama terkait implementasinya dalam code C#. Konsep class ini sangat perlu (harus) kita kuasai karena merupakan dasar pemrograman C# selanjutnya. Selain konsep class, dalam OOP masih dikenal konsep Inheritance dan keterkaitannya dengan konsep overloading dan overriding. Konsep OOP tersebut juga sangat penting dikuasai dan kita akan mencoba membahasnya di artikel selanjutnya.

object oriented programming (oop)



1. Pengertian Object Oriented Programming (OOP)
Object Oriented Programming (OOP) adalah suatu metode pemrograman yang berbasiskan pada objek, secara singkat pengertian dari OOP adalah koleksi objek yang saling berinteraksi dan saling memberikan informasi satu dengan yang lainnya.
Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
– Encapsulation (pembungkusan)
• Variabel dan method dalam suatu obyek dibungkus agar terlindungi
• Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface
• Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.
• Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur
– Inheritance (pewarisan)
• Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
• Class yang mewarisi disebut superclass
• Class yang diberi warisan disebut subclass
• Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance.
Keuntungan Penggunaan Pewarisan
• Subclass memiliki atribut dan method yang spesifik yang membedakannya dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan method).
• Dengan demikian pada pembuatan subclass, programmer bisa menggunakan ulang source code dari superclass yang ada => ini yang disebut dengan istilah reuse.
• Class-class yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass disebut dengan abstract class.
– Polymorphism (polimorfisme – perbedaan bentuk)
Polimorfisme artinya penyamaran dimana suatu bentuk dapat memiliki lebih dari satu bentuk.
2. Perbedaan Object Oriented Programming (OOP) dengan Procedural Programmming
1. Pemrograman Prosedural Fungsi dan data menjadi satu kesatuan yang disebut obyek sedangkan Pemrograman Prosedural Diselesaikan dalam bentuk prosedur atau fungsi
2.Pemrograman Prosedural Obyek-obyek dalam OOP bersifat aktif sedangkan Pemrograman Prosedural Program merupakan urut-urutan Instruksi
3. Pemrograman Prosedural Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah sedangkan Pemrograman Prosedural Program dipecah-pecah ke dalam sub
program yang lebih sederhana
4. Pemrograman Prosedural Fungsi dan prosedur digunakan untuk memanipulasi data
5. Pemrograman Prosedural Sedangkan data sendiri bersifat pasif
Kesimpulan Perbedaan antara prosedural dan OOP
• Prosedural : Fokus pada bagaimana cara komputer menangani masalah
• OOP : Fokus pada masalah yang ditangani dengan menggunakan komputer.
Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya memiliki ciri khas (attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Singkatnya, OOP memiliki keunggulan dari konsep pemrograman terstruktur, selain itu juga memiliki kemampuan untuk mengimplementasikan objek dalam kehidupan nyata.
3. Pengertian class dalam OOP
Class adalah suatu frame yang merupakan definisi yang memuat data dan metod pengolah data. Class juga dapat diartikan sebagai tempat untuk membuat obyek. Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek. Proses pembuatan obyek dari sebuah class disebut dengan instantiation. Jadi obyek merupakan hasil instansiasi dari class. Obyek disebut juga dengan instance.
Class memiliki anggota yang disebut Anggota Class (class member).
Anggota Class terdiri dari :
1. atribut
2. method.
Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.
Contoh pembuatan class:
class BilanganRasional
{
public :
void assign (int,int);
void cetak();
private :
int pembilang, penyebut;
};
Perhatikan contoh di atas. Untuk mendefinisikan sebuah kelas, dipakai kata kunci class, diikuti dengan pendeklarasian nama kelas tersebut. Fungsi assign() dan cetak() disebut member function (member fungsi). Sedangkan variabel pembilang dan penyebut disebut member data (member data atau member variabel). Disebut member karena kesemuanya merupakan anggota dari kelas BilanganRasional.
Perhatikan kata kunci Public dan Private. Member functions pada contoh di atas dideklarasikan sebagai fungsi global, sedangkan member data dideklarasikan sebagai lokal. Perbedaannya, member global dapat diakses dari luar kelas, sedangkan member lokal hanya dapat diakses dari kelas itu sendiri.
4. Apa itu object
Objek adalah sesuatu yang memiliki identitas (informasi tentang dirinya) dan tingkah laku (apa yang dapat dilakukan) contoh objek dalam dunia nyata adalah rumah, sepeda, motor, manusia, hewan dll. Identitas dari suatu objek adalah informasi tentang dirinnya sebagai contoh adalah objek Hewan memiliki indentas berupa nama, jenis, tangan, kaki, mata dll, tingkah laku dari objek hewan adalah berjalan, berlari, tidur dll.Dalam pemrograman identitas dapat dikatakan sebagai properties, sebagai contoh membuat program multimedia berupa share video, objeknya berupa video yang mempunyai identitas berupa nama video, size video, format file dan jenis video. Untuk tingkah laku disebut sebagai methode.
• Obyek diciptakan dengan perintah new.
• Misal akan diciptakan obyek baru dari class mobil dengan nama mobilku
• Maka perintah penciptaan obyek mobilku dari class Mobil :
Mobil mobilku = new Mobil();
5. Ciri-ciri object !
• Obyek memiliki status (state) dan tingkah laku (behavior).
• Status (state) disebut juga dengan atribut.
• Contoh obyek : obyek mobil
– Atribut : merek, warna, bahan bakar.
– Method : pindah persnelling, kecepatan bertambah, dll.
• Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method.

Thursday, October 20, 2011

mengecek berapa jumalah x dalam array dalam c.

#include "stdio.h"
int main()
{
int tab[100];
int n;
int i;
int j;
int x;
int cek;
int temp;
printf("masukan jumlah array = ");
scanf ("%d",&n);
for (i=0; i<n; i++)
{
    printf("masukan bilangan ke ");
    printf("%d = ",i+1);
    scanf("%d",&tab[i]);
}
printf("masukan nilai x = ");
scanf ("%d",&x);
temp=0;
j=0;
while (j<n)
{
      if (x==tab[j])
      {
       temp=temp+1;
       j++;
      }
      else
      {
      j++;
      }            
}

          printf("x ada dalam array sejumlah = ");
printf("%d",temp);
getch();

}

mengecek apakah x lebih besar dari array dalam c.

#include "stdio.h"
int main()
{
int tab[100];
int n;
int i;
int j;
int x;
int cek;
printf("masukan jumlah array = ");
scanf ("%d",&n);
for (i=0; i<n; i++)
{
    printf("masukan bilangan ke ");
    printf("%d = ",i+1);
    scanf("%d",&tab[i]);
}
printf("masukan nilai x = ");
scanf ("%d",&x);
cek=0;
j=0;
while ((cek==0) && (j<n))
{
      if (x>tab[j])
      {
       j++;
      }
                   else
      {
       cek=cek+1;
      }
   
                   
}
if (cek==0)
{
          printf("x lebih besar dari seluruh elemet array");
}
if (cek==1)
{
          printf("x tidak lebih besar dari seluruh elemet array");
}
getch();

}

mengecek letak nilai min dalam array dalam c.

#include "stdio.h"
int main()
{
int tab[100];
int n;
int i;
int j;
int letak;
int temp;
printf("masukan jumlah array = ");
scanf ("%d",&n);
for (i=0; i<n; i++)
{
    printf("masukan bilangan ke ");
    printf("%d = ",i+1);
    scanf("%d",&tab[i]);
}
temp=tab[0];
letak=0;
j=0;
while (j<n)
{
      if (tab[j]<=temp)
      {
       temp=tab[j];
letak=j+1;
j++;
      }
      else
      {
      j++;
      }            
}
          printf("nilai min berada di array ke = ");
printf("%d",letak);
getch();

}

mengecek jumlah nilai genap dalam array dalam c.

#include "stdio.h"
int main()
{
int tab[100];
int n;
int i;
int j;
int temp;
printf("masukan jumlah array = ");
scanf ("%d",&n);
for (i=0; i<n; i++)
{
    printf("masukan bilangan ke ");
    printf("%d = ",i+1);
    scanf("%d",&tab[i]);
}
temp=0;
j=0;
while (j<n)
{
      if (tab[j]-((tab[j]/2)*2)==0)
      {                              
 temp=temp+1;
 j++;
      }
      else
      {
      j++;
      }        
}
          printf("nilai genap banyaknya = ");
printf("%d",temp);
getch();

}

mengecek nilai min dala array dalam c.

#include "stdio.h"
int main()
{
int tab[100];
int n;
int i;
int j;
int temp;
printf("masukan jumlah array = ");
scanf ("%d",&n);
{
    printf("masukan bilangan ke ");
    printf("%d = ",i+1);
    scanf("%d",&tab[i]);
}
temp=tab[0];
j=0;
while (j<n)
{
      if (tab[j]<=temp)
      {
       temp=tab[j];
       j++;
      }
      else
      {
      j++;
      }          
}
          printf("nilai min dari array = ");
printf("%d ",temp);
getch();

}

membuka dan menampilkan data dalam c#.

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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            string n = Console.ReadLine();
            DirectoryInfo d = new DirectoryInfo(n);
            FileInfo[] files = d.GetFiles();
            foreach (FileInfo f in files)
            {
               Console.WriteLine("{0} {1}", f.FullName, f.Length);
               FileStream fp = new FileStream(f.FullName, FileMode.Open);
               StreamReader reader = new StreamReader(fp);
               string data;
               while ((data = reader.ReadLine()) != null)
               {
                   Console.WriteLine(data);
                   System.Threading.Thread.Sleep(50);
               }
               Console.WriteLine();
               reader.Close();
               fp.Close();
            }
       }
    }
}

mengecek apakah array semuanya ganjil dalam c.

#include "stdio.h"
int main()
{
int tab[100];
int n;
int i;
int j;
int cek;
printf("masukan jumlah array = ");
scanf ("%d",&n);
for (i=1; i<=n; i++)
{
    printf("masukan bilangan ke ");
    printf("%d = ",i);
    scanf("%d",&tab[i]);
}
cek=0;
j=0;
while ((cek==0) && (j<n))
{
      if (tab[j]-((tab[j]/2)*2)!=1)
      {
       cek=cek+1;
      }
      else
      {
      j++;
      }            
}
if (cek==0)
{
          printf("data dalam array seluruhnya ganjil");
}
if (cek==1)
{
          printf("data dalam array tidak semuanya ganjil");
}
getch();

}

menggantikan kata dengan kata dalam c#.

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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("filename = ");
            string filename = Console.ReadLine();
            if (File.Exists(filename))
            {
                FileStream fp = new FileStream(filename, FileMode.Open);
                StreamReader reader = new StreamReader(fp);
                Console.WriteLine("masukan kata yg ingin diganti :");
                string n = (Console.ReadLine());
                Console.WriteLine("masukan kata yg ingin menggantikan :");
                string m = (Console.ReadLine());
                string data;
                int e = 0;
                while ((data = reader.ReadLine()) != null)
                {
                    string[] kata = data.Split(' ');
                    for (int i = 0; i <= kata.Length - 1; i++)
                    {
                        int r = (kata[i].IndexOf(n));
                        if (r >= 0)
                        {
                            kata[i] = m;
                            Console.Write(" {0}", kata[i]);
                        }
                        else
                        {
                            Console.Write(" {0}", kata[i]);
                        }
                    }
                    Console.WriteLine();
                }
                reader.Close();
                fp.Close();
                Console.WriteLine(e);
            }
            else
                Console.WriteLine("file is not found!");
        }
    }
}

revisi replace kata dalam c#.

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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("filename = ");
            string filename = Console.ReadLine();
            if (File.Exists(filename))
            {
                FileStream fp = new FileStream(filename, FileMode.Open);
                StreamReader reader = new StreamReader(fp);
                Console.WriteLine("masukan kata yg ingin diganti :");
                string n = (Console.ReadLine());
                Console.WriteLine("masukan kata yg ingin menggantikan :");
                string m = (Console.ReadLine());
                Console.WriteLine(reader.ReadToEnd().Replace(n,m));
                reader.Close();
                fp.Close();
            }
            else
                Console.WriteLine("file is not found!");
        }
    }
}

menghitung string (versi 2) dalam c#.

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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("filename = ");
            string filename = Console.ReadLine();
            if (File.Exists(filename))
            {
                FileStream fp = new FileStream(filename, FileMode.Open);
                StreamReader reader = new StreamReader(fp);

                string data;
                int e = 0;
                while ((data = reader.ReadLine()) != null)
                {
                string[] or = data.Split(',');
                e = e + int.Parse(or[1]);
                }
                reader.Close();
                fp.Close();
                Console.WriteLine(e);
            }
            else
                Console.WriteLine("file is not found!");
        }
    }
}

olah text (versi 3) dalam c#.

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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("filename = ");
            string filename = Console.ReadLine();
            if (File.Exists(filename))
            {
                FileStream fp = new FileStream(filename, FileMode.Open);
                StreamReader reader = new StreamReader(fp);

                string data;

                data = reader.ReadToEnd();
                    Console.WriteLine(data);
                reader.Close();
                fp.Close();
            }
            else
                Console.WriteLine("file is not found!");
        }
    }
}

mengitung string dalam c#.

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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("filename = ");
            string filename = Console.ReadLine();
            if (File.Exists(filename))
            {
                FileStream fp = new FileStream(filename, FileMode.Open);
                StreamReader reader = new StreamReader(fp);

                string data;
                int e = 0;
                while ((data = reader.ReadLine()) != null)
                {
                string[] or = data.Split(',');
                int x=int.Parse(or[1]);
                e=e+x;
                }
                reader.Close();
                fp.Close();
                Console.WriteLine(e);
            }
            else
                Console.WriteLine("file is not found!");
        }
    }
}

menghitung jumlah sum array dalam c#.

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("panjang array : ");
            int q = int.Parse(Console.ReadLine());
            int[] a = new int[q];
            int r=0;
            for (int i = 1; i <= q; i++)
            {
                Console.Write("a[{0}] = ",i);
                a[i-1]=int.Parse(Console.ReadLine());
                r=r+a[i-1];
            }
            Console.WriteLine("total = {0}",r);
        }
    }
}

menghitung jumlah sum array dalam c#.

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("panjang array : ");
            int q = int.Parse(Console.ReadLine());
            int[] a = new int[q];
            int r=0;
            for (int i = 1; i <= q; i++)
            {
                Console.Write("a[{0}] = ",i);
                a[i-1]=int.Parse(Console.ReadLine());
                r=r+a[i-1];
            }
            Console.WriteLine("total = {0}",r);
        }
    }
}

menghitung jumlah sum array dalam c#.

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("panjang array : ");
            int q = int.Parse(Console.ReadLine());
            int[] a = new int[q];
            int r=0;
            for (int i = 1; i <= q; i++)
            {
                Console.Write("a[{0}] = ",i);
                a[i-1]=int.Parse(Console.ReadLine());
                r=r+a[i-1];
            }
            Console.WriteLine("total = {0}",r);
        }
    }
}

menghitung jumlah sum array dalam c#.

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("panjang array : ");
            int q = int.Parse(Console.ReadLine());
            int[] a = new int[q];
            int r=0;
            for (int i = 1; i <= q; i++)
            {
                Console.Write("a[{0}] = ",i);
                a[i-1]=int.Parse(Console.ReadLine());
                r=r+a[i-1];
            }
            Console.WriteLine("total = {0}",r);
        }
    }
}

olah text dalam c#.

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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("filename = ");
            string filename = Console.ReadLine();
            if (File.Exists(filename))
            {
                FileStream fp = new FileStream(filename, FileMode.Open);
                StreamReader reader = new StreamReader(fp);

                int data;

                while ((data = reader.Read()) != -1)
                {
                    Console.Write((char)data);
                    System.Threading.Thread.Sleep(50);
                }
reader.Close();
                fp.Close();
            }
            else
                Console.WriteLine("file is not found!");
        }
    }
}

olah text (versi 2) dalam c#.

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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("filename = ");
            string filename = Console.ReadLine();
            if (File.Exists(filename))
            {
                FileStream fp = new FileStream(filename, FileMode.Open);
                StreamReader reader = new StreamReader(fp);

                string data;

                while ((data = reader.ReadLine()) != null)
                {
                    Console.WriteLine(data);
                    System.Threading.Thread.Sleep(50);
                }
reader.Close();
                fp.Close();
            }
            else
                Console.WriteLine("file is not found!");
        }
    }
}

menghitung jumlah sum array dalam c#.

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("panjang array : ");
            int q = int.Parse(Console.ReadLine());
            int[] a = new int[q];
            int r=0;
            for (int i = 1; i <= q; i++)
            {
                Console.Write("a[{0}] = ",i);
                a[i-1]=int.Parse(Console.ReadLine());
                r=r+a[i-1];
            }
            Console.WriteLine("total = {0}",r);
        }
    }
}

menghitung jumlah sum array dalam c#.

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("panjang array : ");
            int q = int.Parse(Console.ReadLine());
            int[] a = new int[q];
            int r=0;
            for (int i = 1; i <= q; i++)
            {
                Console.Write("a[{0}] = ",i);
                a[i-1]=int.Parse(Console.ReadLine());
                r=r+a[i-1];
            }
            Console.WriteLine("total = {0}",r);
        }
    }
}

menghitung jumlah sum array dalam c#.

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("panjang array : ");
            int q = int.Parse(Console.ReadLine());
            int[] a = new int[q];
            int r=0;
            for (int i = 1; i <= q; i++)
            {
                Console.Write("a[{0}] = ",i);
                a[i-1]=int.Parse(Console.ReadLine());
                r=r+a[i-1];
            }
            Console.WriteLine("total = {0}",r);
        }
    }
}

togel jw dalam c#.

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

namespace togel
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan angka taruhan anda : ");
            string a = (Console.ReadLine());
            Console.WriteLine("masukan jumlah taruhan anda : ");
            int b = (int.Parse(Console.ReadLine()));
            Random r = new Random();
            int x = r.Next(10000);
            string e = x.ToString();
         
            string sub = e.Substring((e.Length - a.Length), a.Length);
            if (sub == a)
            {
                if (a.Length == 2)
                {
                    Console.WriteLine("anda menang {0}", (b * 60));
                }
                if (a.Length == 3)
                {
                    Console.WriteLine("anda menang {0}", (b * 120));
                }
                if (a.Length == 4)
                {
                    Console.WriteLine("anda menang {0}", (b * 200));
                }
            }
            else
            {
                Console.WriteLine("maav anda kalah");
                Console.WriteLine("no togel yang keluar {0}",e);
            }
        }
    }
}

program tambah dalam c#.

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

namespace random_tambah
{
    class Program
    {
        static void Main(string[] args)
        {
            Random r = new Random();
            int x = r.Next(10000);
            Console.WriteLine(x);
            string e = x.ToString();
            int q=0;
            for (int i = 1; i <= 4; i++)
            {
                string a= e.Substring((i - 1), 1);
                int d=(int.Parse(a));
                q=q+d;
            }
            Console.WriteLine(q);
        }
    }
}

menghapus kata dalam kalimat (versi 2) dalam c#.

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

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan kata : ");
            string s = (Console.ReadLine());
            Console.WriteLine("masukan kata yg ingin dihapus :");
            string n = (Console.ReadLine());
            string[] kata = s.Split(' ');
            for (int i = 0; i <= kata.Length - 1; i++)
            {
                int e=(kata[i].IndexOf(n));
                if (e>=0)
                {
                    kata[i] = kata[i].Remove(0, n.Length);
                    Console.Write(" {0}", kata[i]);
                }
                else
                {
                    Console.Write(" {0}", kata[i]);
                }
            }
                Console.WriteLine();
         
        }
    }
}

hitung umur (versi 2) dalam c#.

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

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan tanggal lahir : (tanggal/bulan/tahun )");
            string s = (Console.ReadLine());
            string[] or = s.Split('/');
            Console.WriteLine("masukan tanggal hari ini : (tanggal/bulan/tahun )");
            string q = (Console.ReadLine());
            string[] thn = q.Split('/');
            int c = int.Parse(or[0]);
            int d = int.Parse(or[1]);
            int e = int.Parse(or[2]);
            int f = int.Parse(thn[0]);
            int g = int.Parse(thn[1]);
            int h = int.Parse(thn[2]);
            int a=0;
            if (d == g)
            {
                if (c<=f)
                {
                    a = a+(h - e);
                    Console.WriteLine("jadi umurnya {0}", a);
                }
                else
                {
                    a = (a+(h - e) - 1);
                    Console.WriteLine("jadi umurnya {0}", a);
                }
            }
            if (d > g)
            {
                a = a+(h - e);
                Console.WriteLine("jadi umurnya {0}", a);
            }
            if (d<g)
            {
                a=(a+(h-e)-1);
                    Console.WriteLine("jadi umurnya {0}", a);
            }

        }
    }
}

menghapus kata dalam kalimat dalam c#.

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

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan kata : ");
            string s = (Console.ReadLine());
            Console.WriteLine("masukan kata yg ingin dihapus :");
            string n = (Console.ReadLine());
            string[] kata = s.Split(' ');
            for (int i = 0; i <= kata.Length - 1; i++)
            {
                int e=(kata[i].IndexOf(n));
                if (e>=0)
                {
                   if (kata[i].Substring(e, n.Length).Equals(n))
                {
                    kata[i] = kata[i].Remove(0, n.Length);
                    Console.Write(" {0}", kata[i]);
                }
                }
                else
                {
                    Console.Write(" {0}", kata[i]);
                }
            }
                Console.WriteLine();
         
        }
    }
}

hitung nama orang dalam c#.

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

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan nama-nama :");
                string s=(Console.ReadLine());
            string[]or=s.Split(',');
            for (int i=1; i<=or.Length; i++)
            {
            Console.WriteLine ("orang {0} namanya {1}",i,or[i-1]);
            }
        }
    }
}

hitung angka dalam string dalam c#.

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

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan angka :");
            string s=(Console.ReadLine());
            string[]or = s.Split(',');
            int e = 0;
            for (int i = 1; i <= or.Length; i++)
            {
                int x=int.Parse(or[i-1]);
                e=e+x;
            }
            Console.WriteLine(e);          
        }
    }
}

hitung umur dalam c#.

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

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan tanggal lahir : (tanggal/bulan/tahun )");
            string s=(Console.ReadLine());
            string[]or = s.Split('/');
                int e=int.Parse(or[2]);
                int a=(2011-(e));
         
            Console.WriteLine("jadi umurnya {0}",a);          
        }
    }
}

cek no hape dalam c#.

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

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan no handphone");
            string s = (Console.ReadLine());
            int n = s.Length;
                if (n == 12)
                {
                    string sub = s.Substring(0, 4);
                    if (sub == "0819")
                    {
                        Console.WriteLine("xl");
                    }
                    if (sub == "0821")
                    {
                        Console.WriteLine("telkomsel");
                    }
                    if (sub == "0857")
                    {
                        Console.WriteLine("indosat");
                    }
                    else
                    {
                        Console.WriteLine("maav no hape tidak terdaftar");
                }
            }
             
            else
            {
                Console.WriteLine("bukan no hape");
            }
        }
    }
}

bilangan fibonachi dalam c#.

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

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan jumlah deret");
            int a=int.Parse(Console.ReadLine());
            int i = 1;
            int x=1;
            int y=1;
            Console.Write("{0}",x);
            Console.Write(" {0}",y);
            while (i<=(a-2))
            {
             
                y=(y+x);
                x = (y - x);
                Console.Write(" {0}",y);
                i=(i+1) ;
            }
         
        }
    }
}

random rekening bank dalam c#.

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

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("masukan jumlah rekening");
            int a = int.Parse(Console.ReadLine());
            Random r = new Random();
            int i = 1;
            while (i <= (a))
            {
                int j = 1;
                while (j <= 8)
                {
                    int w = r.Next(100);
                    if (w == 0)
                    {
                        Console.Write("00");
                    }
                    if (w<=9)
                    {

                        if (w > 0)
                        {
                            Console.Write("0{0}",w);
                        }
                    }
                    if (w > 9)
                    {
                        Console.Write("{0}", w);
                    }
                    if ((j - (j / 2) * 2) == 0)
                    {
                        if (j < 8)
                        {
                            Console.Write("-");
                        }
                    }
                    j = j + 1;
                }
                Console.WriteLine("");
                i = (i + 1);
            }

        }
    }
}

mencari 2nd biggest dalam c#.

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Masukkan jumlah data : ");
            int n = int.Parse(Console.ReadLine());
            int[] a = new int[100];
            Random r = new Random();

            for (int i=1; i<=n; i++)
            {
                a[i] = r.Next(100);
                Console.Write("{0}", a[i]);
                Console.Write(" ");
            }

            int bigest = a[1];
            for (int i = 2; i <= n; i++)
            {
                if (a[i] >= bigest)
                    bigest = a[i];
            }

            int x=a[1];
            for (int i=2; i<=n; i++)
            {
                if (a[i]>=x)
                {
                    if (a[i]<bigest)
                    {
                        x=a[i];
                    }
                }
            }
            Console.WriteLine(" ");
            Console.WriteLine(" 2nd bigest : {0}", x);


        }
    }
}

tugas bpl fibonachi dan faktorial

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

namespace ConsoleApplication20
{
    public class program
        {
            public program(int a, int b)
            {
                if (a==1)
                {
                    int i=1;
                    int x=1;
                while (i<=b)
                {
                x=(x*i);
                i = i + 1;
                }
                Console.WriteLine("faktorial = {0}", x);
                }
                if (a == 2)
                {
                    int i = 1;
                    int x = 1;
                    int y = 1;
                    Console.Write("fibonaci = {0}", x);
                    Console.Write(" {0}", y);
                    while (i <= (b - 2))
                    {

                        y = (y + x);
                        x = (y - x);
                        Console.Write(" {0}", y);
                        i = (i + 1);
                    }
                }
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                program P1 = new program(1,5);
                program P2 = new program(2,5);
                Console.WriteLine();
            }
        }
    }