class Program
{
static void Main(string[] args)
{
double ntugas, nuts, npartisipasi, nuas;
double nakhir;
Console.Write("Nilai Tugas ="); ntugas = double.Parse(Console.ReadLine());
Console.Write("Partisipasi=");
npartisipasi = double.Parse(Console.ReadLine());
Console.Write("Nilai UTS =");
nuts = double.Parse(Console.ReadLine());
Console.Write("Nilai UAS =");
nuas = double.Parse(Console.ReadLine());
nakhir=hitungNilaiAkhir(npartisipasi, ntugas, nuts, nuas);
Console.Write("Nilai Akhir =" + nakhir);
Console.Write("Nilai Huruf=" + KonversiKeHuruf(nakhir));
Console.ReadKey();
}
public static double hitungNilaiAkhir(double np, double nt, double nuts, double nuas)
{
return 0.3*np+0.2*nt+0.3*nuts+0.2*nuts;
}
public static String KonversiKeHuruf(double na)
{
string nh = "";
if (na > 85 && na <= 100)
{
nh = "A";
}
else if (na > 80 && na <= 85)
{
nh = "A-";
}
return nh;
}
}
}
Ungkapan tugas2_Q lewat tulisan iniii :D,,, eittss,, bukan hanya itu, ungkapan perasaan ku juga :)
sElamat Belajar :) ,, sEmoga bErmanfA'at ^_^
Selasa, 08 Oktober 2013
Over Loading
Overloading adalah suatu cara membuat lebih dari constructor pada suatu
class. Supaya pengaksesan constructor tersebut lancar, maka sebagai pembedanya
adalah tipe parameter dan atau jumlah parameternya. Overloading
adalah dua atau lebih method di dalam satu kelas yang sama, dengan nama yang
sama, namun dengan deklarasi parameter yang membedakan.
using
System;
namespace
overloading1
{
class
Program
{
private
static void perkalian(int a, int b, int c){
Console.WriteLine("perkalian
3 tipe dalam parameter");
int
x=0;
x
= Convert.ToInt32(a*b*c);
Console.WriteLine("{0}
= {1} * {2} * {3} ",x,a,b,c);
}
private
static void perkalian(int a, int b){
Console.WriteLine("perkalian
2 tipe dalam parameter");
int
x=0;
x
= Convert.ToInt32(a*b);
Console.WriteLine("{0}
= {1} * {2}",x,a,b);
}
public
static void Main(string[] args)
{
Console.WriteLine("contoh
overloading method dengan nama method perkalian");
Console.WriteLine();
perkalian(3,4);
Console.WriteLine();
perkalian(3,4,5);
Console.ReadKey(true);
}
}
}
Karakteristik OOP
1. Abstraction
Pesawat yang telah
dicontohkan masuk dalam kelas kendaraan, kelas kendaraan merupakan contoh
abstraction.Abstraction adalah proses yang mewakili versi yang
disederhanakan dari objek dunia nyata dalam kelas dan objek. Hal ini berarti
dalam pengembangan perangkat lunak seorang programmer akan menggunakan atau
menciptakan sejumlah object dimana object tersebut akan ada dan berperilaku
pada sistem.
2. Encapsulation
Enkapsulasi
/ penyembunyian informasi adalah konsep yang selama ini sering anda dengar.
Pada OOP informasi dibungkus dalam sebuah Class sehingga orang yang menggunakan
class tersebut tidak perlu tahu detail-nya, hanya cukup mengetahui method dan
property apa saja yang ada dalam class tersebut beserta kegunaannya.
Pada
pemrograman berorientasi objek variabel dalam class biasanya diberi access
modifier private, ini berarti hanya method dalam class tersebut yang dapat
mengakses variabelnya. Yang menjadi pertanyaan bagaimana cara anda mengakses
variabel bertipe private tersebut? Mengapa harus dibuat private?
Jika anda
membuat variable tersebut public maka user yang menggunakan class tersebut bisa
memasukan nilai yang tidak kita inginkan, maka anda harus mendeklarasikan
variable tersebut secara private agar pada saat setMethod() anda dapat menambahkan
validasi inputan dari user.
Anda bisa
membuat public method set dan get untuk memberi dan mengambil nilai variabel
tersebut, misal:
1: // private member variables
2:
private int Year;
3:
4:
public int getYear() //get method
5: {
6: return this.Year;
7: }
8:
9: public void setYear(int Year) //set method
10:
{
11: this.Year = Year;
12:
}
Selain
menggunakan cara tersebut diatas pada C# disediakan object property
untuk memberi nilai dan mengambil nilai dari private variabel dalam suatu
class. Penggunaan object property lebih memudahkan anda dalam penulisan kode
dibandingkan harus membuat dua method set dan get untuk mengakses satu variabel
private. Contoh penggunaan property dapat dilihat pada contoh kode dibawah ini.
1: class Mahasiswa {
2:
private string nim;
3: private string nama;
4:
5: public string Nim {
6:
get {
7:
return nim;
8: }
9: set
{
10: this.nim = value;
11: }
12:
}
13:
14:
public string Nama {
15: get
{
16: return nama;
17: }
18: set {
19:
this.nama = value;
20: }
21: }
22:
23: public string DisplayInfo() {
24: return Nim + " " + Nama;
25: }
26:
}
27:
28:
class ClassProperty {
29: public static void Main(string[] args) {
30: Mahasiswa mhs1 = new Mahasiswa();
31:
mhs1.Nim = "22002321";
32: mhs1.Nama = "Erick";
33:
Console.WriteLine(mhs1.DisplayInfo());
34:
}
35: }
Encapsulation adalah
penyatuan antara proses-proses yang terjadi dan sejumlah data yang dikelola
kedalam suatu bentuk kelompok tertentu. Pengelompokan tersebut adalah dengan
dibentuknya suatu object secara abstrak (abstraction). Akibatnya, obyek dapat
bekerja sama dalam banyak hal dalam sistem. Dalam beberapa situasi, kelas
dan objek dapat erat bersama-sama untuk menyediakan fungsionalitas yang lebih
kompleks. Dalam contoh mobil, roda, panel, mesin, gearbox, dll
dapat dianggap sebagai kelas individu. Untuk membuat mobil
sekelasnya, perlumenghubungkan semua benda-benda bersama,
mungkin dapat menambahkan fungsionalitas lebih lanjut. Kerja
internal masing-masing kelas yang tidak penting karena enkapsulasi sebagai
komunikasi antara obyek masih melalui lewat pesan ke antarmuka publik mereka.
Encapsulation mengemas
suatu objek sehingga pada saat kita akan memakai objek tersebut kita tidak
perlu lagi tahu tentang detail bagaimana suatu action itu terjadi. Contoh dalam
hal ini, misal siswa (suatu object) sedang menulis (method).
Maka detail dari tentang cara siswa itu menulis (bagaimana otot tangan
itu bekerja untuk menulis, bagaimana sistem saraf pusat
memerintahkan untuk menulis) kita tidak perlu mengerti. Kita hanya
melihat si siswa sedang menulis.
3. Inherintance
Inherintence atau
pewarisan adalah merupakan konsep dimana suatu object memiliki sejumlah
perilaku yang dimiliki oleh object lain dalam suatu hirarki tertentu.
Hal ini memungkinkan
satu kelas (sub-class) harus didasarkan atas yang
lain (kelas super) dan mewarisi semua fungsi secara
otomatis. Kode tambahan kemudian dapat ditambahkan untuk membuat versi
yang lebih khusus dari kelas. Dalam contoh kendaraan, sub-kelas untuk
mobil atau motor dapat dibuat. Masing-masing masih akan memiliki semua
perilaku kendaraan tetapi dapat menambahkan metode khusus dan properti.
contoh :
using
System;
namespace
Inheritance
{
class
Inheritance1
{
private
String na;
private
String nama;
public
void
setna (String nami)
{
na=nami;
}
public
void
setnama (String nomo)
{
nama=nomo;
}
public
String getna()
{
return
(na);
}
public
String getnama()
{
return
(nama);
}
public
void
namasaya()
{
Console.WriteLine("NIM"+getna());
Console.WriteLine("Nama"+getnama());
}
}
class
Inheritance2 : Inheritance1
{
private
double
ip;
public
void
setip (double
vip)
{
ip=vip;
}
public
double
getip()
{
return(ip);
}
public
void
namadia()
{
Console.WriteLine("IP :
"+getip());
Console.WriteLine("Nama
: "+getnama());
Console.WriteLine("NIM :
"+getna());
}
}
class
Program
{
public
static
void
Main(string[] args)
{
{
Inheritance2 ap1=new
Inheritance2();
ap1.setna("1111100123 &
1111100456");
ap1.setnama("Silvi Anggraini
& Dewi Ayu");
ap1.setip(3.5);
ap1.namadia();
Console.Write("\nPress any key
to continue . . . ");
Console.ReadKey(true);
}
}
}
}
Abstrak
using System;
namespace OOPpraktikum
{
class Program
{
static Implementasi imp = new
Implementasi();
public static void Main(string[] args)
{
string nama =
"Rizka Alfiana";
string alamat
= "Sidowungu";
string telp = "303058";
string NIM = "123214001";
string Jurusan = "matematika";
imp.ShowKTP(nama, alamat, telp);
imp.ShowMHS(nama,
NIM, Jurusan, telp);
Console.Write("\nPress
any key to continue . . . ");
Console.ReadKey(true);
}
}
abstract class Abs // --- >Abstrak
Class
{
public
abstract void
ShowKTP(string nama, string
alamat, string tlp); //
---> Abstrak method
public void ShowMHS(string nama, string
nim, string prodi, string
tlp)
{
Console.WriteLine("MHS");
Console.WriteLine();
Console.WriteLine("Nama
anda : {0}", nama);
Console.WriteLine("NIM : {0}", nim);
Console.WriteLine("Prodi : {0}", prodi);
Console.WriteLine("No
Telp : {0}", tlp);
Console.WriteLine();
Console.WriteLine();
}
}
class Implementasi
: Abs
{
public override void
ShowKTP(string nama, string
alamat, string tlp)
{
Console.WriteLine("KTP");
Console.WriteLine();
Console.WriteLine("Nama
anda : {0}", nama);
Console.WriteLine("Alamat : {0}", alamat);
Console.WriteLine("No
Telp : {0}", tlp);
Console.WriteLine();
Console.WriteLine();
}
}
}
4. Polymorphisme
Polymorphism adalah
konsep dimana beberapa object dapat memiliki metode yang sama dengan aksi yang
berbeda. Hal ini mengakibatkan adanya kemampuan untuk sebuah objek untuk
mengubah perilakunya sesuai dengan bagaimana itu digunakan. Dimana kelas
obyek mewarisi dari kelas super atau mengimplementasikan satu atau lebih interface ,
dapat disebut dengan kelas atau interface nama-nama. Jadi jika kita
memiliki metode yang mengharapkan sebuah objek dari tipe 'kendaraan' untuk
diteruskan sebagai parameter, kita dapat melewati setiap kendaraan, mobil atau
motor objek untuk metode yang meskipun tipe data mungkin secara teknis berbeda.
Dalam
Polymorphism suatu object bisa bertindak lain terhadap message/method yang
sama. Misalkan kita punya satu class hewan dan diturunkan menjadi dua
class hewan berkaki dua dan hewan berkaki empat. Ketika hewan
berkaki dua melakukan method makan maka yang dilakukan adalah makan
dengan paruhnya, dan ketika hewan berkaki empat juga makan maka dia
akan menggunakan mulutnya. Keduanya melakukan aksi yang sama
yaitu makan akan tetapi perlakuannya lain.
Contoh :
class Binatang
{
public void info()
{
System.out.println(” Info tentang Hewan : “);
}
}
class Herbivora extends Binatang
{
public void info()
{
System.out.println (“Info pada herbivora: Memakan makanan berupa tumbuh –
tumbuhan”);
}
}
class Kelinci extends Herbivora
{
public void info()
{
System.out.println(“Info pada Kelinci: Memakan makanan berupa wortel”);
}
}
public class Polimorfisme
{
public static void main(String[] args)
{
Herbivora herbivora;
Kelinci kelinciku;
Binatang hewan;
herbivora=new Herbivora();
kelinciku=new Kelinci();
hewan=herbivora;
hewan.info();
hewan=kelinciku;
hewan.info();
}
}
5. Aggregation
adalah sebuah relasi antar kelas dimana sebuah
class berada pada kelas yang lain, dalam hal ini suatu class bener2 berada
dalam kelas yang lain karena kelas tersebut di panggil dalam salah satu method
atau bahkan menjadi sebuah atribut dalam kelas tersebut. misalnnya ada sebuah
kelas provinsi dimana provinsi tersebut terdiri dari berbagai kabupaten, dalam
kelas kabupaten tersebut terdapat berbagai atribut dan method2. Karena di dalam
provinsi terdapat kabupaten oleh sebab itu saya memasukkan kelas kabupaten
menjadi atribut kelas provinsi. Disinilah hubungan agregasi terjadi
Langganan:
Postingan (Atom)