p3 method, array dan string
DESCRIPTION
Materi Method, Array, String C#TRANSCRIPT
CHAPTER #3
METHOD, ARRAY DAN STRING
Christine Dewi
Method
• Pengenalan Method<modifier> <sifat> <return_type> <nama_method> (< parameter> )
• Modifier Modifier adalah keyword yang digunakan untuk menspesifikasi deklarasi pengaksesan suatu member atau tipe.
• Ada 4 modifier pengaksesan yaitu :
• Sifat Sifat dari Method dapat terdiri dari static atau non-static. Method static adalah method yang hanya dapat di akses dari class. Sedangkan method Non-static dapat di akses dari instance-nya saja.
• Return_Type Return_Type adalah nilai pengembalian dari suatu method. Apabila method tidak mengembalikan suatu nilai, maka return_type-nya didefinisikan dengan void.
• Parameter Parameter adalah nilai yang diparsingkan ke suatu method.
Passing Parameter pada Method
• Passing parameter by value• Passing parameter by reference
Passing parameter by value
• Passing parameter by value hanya akan mem-passing-kan nilai ke dalam method, variabel yang di-passing-kan akan dibuat secara lokal didalam method.
using System;public class Payroll{ static void Earnings(double ThisWeek, double Salary) { ThisWeek = 42.50; Console.WriteLine("\nIn the Earnings() function,"); Console.Write("Weekly Hours = "); Console.WriteLine(ThisWeek); Console.Write("Salary = "); Console.WriteLine(Salary); Console.Write("Weekly Salary: = "); Console.WriteLine(ThisWeek * Salary); } static int Main() { double Hours, Rate; Rate = 15.58; Hours = 26.00; Console.WriteLine("In the Main() method,"); Console.Write("\nWeekly Hours = "); Console.Write(Hours); Console.Write("\nSalary = "); Console.WriteLine(Rate); Console.Write("Weekly Salary = "); Console.WriteLine(Hours * Rate); Console.WriteLine("\nCalling the Earnings() method"); Earnings(Hours, Rate); Console.Write("\nAfter calling the Earnings() method, "); Console.WriteLine("\nin the Main() function,"); Console.Write("\nWeekly Hours = "); Console.Write(Hours); Console.Write("\nSalary = "); Console.WriteLine(Rate); Console.Write("Weekly Salary = "); Console.WriteLine(Hours * Rate); Console.Write("\n"); return 0; }}
Dari sini dapat dilihat bahwa nilai variabel sebelum dan sesudah pemanggilan method Earnings masih bernilai sama. Hal ini disebabkan karena yang di-passing-kan adalah nilai parameter. Cara lain untuk mem-passing-kan parameter tetapi nilai yang di-passing-kan setelah keluar dari method juga berubah adalah dengan menggunakan keyword out. Keyword out akan mengembalikan nilai yang diubah di dalam method.
Passing parameter by reference• Passing parameter by reference akan mem-
passing-kan alamat variabel di dalam memori ke method yang dipanggilnya.
• Dengan demikian apabila variabel tersebut diubah di dalam method, maka variabel yang di-passing-kan akan berubah, karena variabel yang berada di dalam method memiliki alamat yang sama dengan alamat variabel yang di-passing-kan.
• Untuk mem-passing-kan parameter dengan reference digunakan keyword ref.
using System;using System.Collections.Generic;using System.Text;namespace Geometry1{ class Cylinder { public void GetRadius(ref double rad) { Console.Write("Radius: "); rad = double.Parse(Console.ReadLine()); } public void GetHeight(out double h) { Console.Write("Height: "); h = double.Parse(Console.ReadLine()); } public double CalculateBaseArea(double rad) { return rad * rad * Math.PI; } public double CalculateLateralArea(double rad, double hgt) { return 2 * Math.PI * rad * hgt; } public double CalculateTotalArea(double rad, double hgt) { return 2 * Math.PI * rad * (hgt + rad); } public double CalculateVolume(double rad, double hgt) { return Math.PI * rad * rad * hgt; } public static void Main(){ double Radius = 0.00; double Height = 0.00; double BaseArea; double LateralArea; double TotalArea; double Volume; Cylinder tabung = new Cylinder(); Console.WriteLine("Enter the dimensions of the cylinder"); tabung.GetRadius(ref Radius); tabung.GetHeight(out Height); BaseArea = tabung.CalculateBaseArea(Radius); LateralArea = tabung.CalculateLateralArea(Radius, Height); TotalArea = tabung.CalculateTotalArea(Radius, Height); Volume = tabung.CalculateVolume(Radius, Height); Console.WriteLine("\nCylinder Characteristics"); Console.WriteLine("Radius: {0}", Radius); Console.WriteLine("Height: {0}", Height); Console.WriteLine("Base: {0:F}", BaseArea); Console.WriteLine("Lateral: {0:F}", LateralArea); Console.WriteLine("Total: {0:F}", TotalArea); Console.WriteLine("Volume: {0:F}", Volume); Console.Read(); } }}
Array
• Array dapat dianggap suatu kumpulan variabel yang memiliki tipe data yang sama.
• Array termasuk dalam tipe data reference.• Deklarasi Array
<DataType>[ ] <VariableName>;
• Inisialisasi ArrayInisialisasi array dilakukan dengan perintah new.VariableName = new DataType[angka];
• Assignment nilai pada arrayArray diisi dengan mengakses indexnya
• Mengambil nilai dalam arrayNilai dalam array dapat diambil dengan menggunakan nilai indeksnya
Array Multi Dimensi
• Deklarasi<DataType>[,,] <VariableName> = new<DataType>[<Number1>,<Number2>,<Number3>];
• DataType adalah tipe data yang digunakan.• Number1, Number2, Number3 adalah jumlah
dari elemen.
• Mengakses array dengan menggunakan perulangan secara nested.
• Dengan menggunakan foreach
String• Tipe String adalah tipe data yang merupakan
rangkaian dari karakter.• Untuk variabel yang hanya berisikan satu karakter
sebaiknya menggunakan tipe data char.
• dapat juga dianggap sebagai array yang bertipe char
Method dalam String
• ToUpper() mengubah Huruf menjadi HURUF BESAR.
• ToLower() mengubah Huruf menjadi huruf kecil.
• Replace(char oldChar, char newChar) mengganti karakter oldChar yang ada dalam string menjadi karakter newChar.
String PhoneNumber = ""; Console.Write("Enter Phone Number: "); PhoneNumber = Console.ReadLine(); // Get a telephone number from the user Console.WriteLine("\nPhone Number: " + PhoneNumber); // Remove the spaces PhoneNumber = PhoneNumber.Replace(" ", ""); Console.WriteLine("\nPhone Number: " + PhoneNumber); // Remove the left parenthesis, if any PhoneNumber = PhoneNumber.Replace("(", ""); Console.WriteLine("\nPhone Number: " + PhoneNumber); // Remove the right parenthesis, if any PhoneNumber = PhoneNumber.Replace(")", ""); Console.WriteLine("\nPhone Number: " + PhoneNumber); // Remove the dash, if any PhoneNumber = PhoneNumber.Replace("-", ""); Console.WriteLine("\nPhone Number: " + PhoneNumber + "\n"); Console.ReadKey();
• Length mendapatkan panjang dari suatu string.
• Replace(string oldStr, string newStr) mengganti sub String oldStr menjadi sub String newStr.
• Format(string format, Object arg0) mengganti format String menjadi format yang lain.
string a = "Belajar C++";double lebar = 20.5;string cobaReplace = a.Replace("C++", "C#");Console.WriteLine("Awal : {0}", a);Console.WriteLine("Replace : {0}", cobaReplace);Console.WriteLine("\nlebar : {0}", lebar*10);String cobaFormat = string.Format("lebar : {0}", lebar);Console.WriteLine(cobaFormat);Console.ReadKey();
• Copy Terdapat 2 cara yaitu :• Secara Langsung
• Dengan Method Copy(string str)
• CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count);
• Concatenation penggabungan string• Dengan menggunakan operator +
• Dengan method Concat(string str0, string str1, string str2);
• Compare(string String1, string String2) membandingkan dua string
• Jika String1 > String2, mengembalikan nilai 1• Jika String1 < String2, mengembalikan nilai -1• Jika String1 = String2, mengembalikan nilai 0
string FirstName1 = "Andy"; string LastName1 = "Stanley"; string FirstName2 = "Charles"; string LastName2 = "Stanley"; int Value1 = string.Compare(FirstName1,FirstName2); int Value2 = string.Compare(FirstName2, FirstName1); int Value3 = string.Compare(LastName1, LastName2); Console.WriteLine("The result of comparing " + FirstName1 + " and " + FirstName2 + " is\t" + Value1.ToString()); Console.WriteLine("The result of comparing " + FirstName2 + " and " + FirstName1 + " is\t" + Value2.ToString()); Console.WriteLine("The result of comparing " + LastName1 + " and " + LastName2 + " is\t" + Value3.ToString() + "\n"); Console.ReadKey();
• Method ini memperhatikan juga huruf kecil dan huruf besar. Untuk mengabaikan adanya huruf kecil dan huruf besar digunakan
• Compare(string String1, string String2, bool ignoreCase);
• Equals(string value) membandingkan apakah kedua string sama. Memberikan nilai kembalian berupa boolean.
if (LastName1.Equals(LastName2)) Console.WriteLine("Satu Keluarga");
• Substring(int startIndex) meng-copy suatu bagian dari string memberikan nilai kembalian berupa string.
Console.WriteLine(FirstName2.Substring(4));
END