Home Blog Page 7

Tiga Cara Mengenkripsi dan Menyembunyikan Source Code PHP

0

Setelah berjibaku berjuang membuat aplikasi berbasis PHP, mungkin kita terpikirkan untuk perlu menyembunyikan source code. Tentu pertimbangannya bisa karena alasan keamanan, atau mungkin karena klien belum membayar penuh. Nah, ada beberapa Teknik untuk “mengamankan” source code PHP kita. Namun, kita juga harus mawas bahwa tidak ada solusi yang sepenuhnya manjur untuk menyembunyikan kode PHP.

Tidak mungkin menyembunyikan source code PHP sepenuhnya karena PHP adalah interpreted language, akan tetapi ada beberapa alternatif metode yang mungkin untuk diterapkan:

  1. Menggunakan obfuscator untuk membuat kode sumber sulit dibaca.
  2. Menggunakan pelindung kode atau pembuat enkode.
  3. Terakhir, kompilasi kode PHP menggunakan converter atau mesin virtual.

Metode 1. Menggunakan OBFUSCATOR PHP 

Alternatif pertama adalah dengan menggunakan salah satu dari banyak obfuscator PHP gratis. Mereka hanya mengubah kode asli menjadi skrip yang berantakan dan tidak dapat dibaca dengan mudah oleh manusia.

Metode 2. Menggunakan PHP Protector dan Encoder Profesional

Tidak mempercayai obfuscator PHP gratis? Atau butuh sesuatu yang lebih profesional? Masih ada protector dan encoder kode PHP berbayar yang tersedia. Namun berhati-hatilah, biayanya bisa cukup mahal.

Contoh protector dan encoder PHP professional :

  • Zend Guard
  • IonCube
  • PHP Shield

Metode 3. PHP Compiler

Opsi terakhir ini mungkin bisa dianggap sebagai cara yang tak lazim, karena melibatkan kompilasi kode PHP dan cara kerjanya cukup berbeda dengan cara konvensional.

Interpreted languages: The source code is read and executed “on the fly”. For example, PHP and Javascript are interpreted languages. To run a PHP script on a computer, PHP must be installed first.

Compiled languages: The source code needs to be compiled into a self-contained executable first. For example, we can create executable files with Java. The executable files can run independently on computers without having to install Java.

Koneksi SQLite Database pada C#

0

Pemrograman C# memungkingkan kita untuk mengembangkan aplikasi dengan basis data SQLite. Selain mudah dan sederhana, basis data SQLite sangatlah ringan. Hal ini tentunya akan semakin meningkatkan performa dari aplikasi yang kita bangun.

Contoh uji coba yang kami lakukan di sini menggunakan Visual Studio 2012, 32 bit. Di awali dengan membuat project baru, setelah itu dari project yang telah dibuat, perlu ditambahkan reference untuk SQLite-nya.  Hal ini dilakukan karena di awal program kita membuat deklarasi untuk menggunakan System.Data.SQLite (pada ekspresi kode using System.Data.SQLite;).

Cara untuk menambahkan reference ini, kita download dulu paket binary dotnet SQLite di laman System.Data.SQLite: Downloads Page. Silakan download yang sesuai dengan versi Visual Studio kita, dalam hal ini karena kita memakai VS 2012 maka kita mendownload yang bagian Precompiled Binaries for 64-bit Windows (.NET Framework 4.5). Pastikan versi 32bit atau 64bit-nya sesuai dengan Visual Studio yang kita gunakan.

Setelah berhasil download, silakan ekstrak paket binary tersebut lalu copy-kan dua file bernama : System.Data.SQLite.dll dan SQLite.Interop.dll, ke dalam folder /bin/debug pada project kita. Selanjutnya, kita tuliskan source code untuk uji koneksinya. Bila semua sudah selesai tinggal lakukan compiling.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SQLite;

namespace _2023_10_25_SQLiteConnect
{
class Program
{
static void Main(string[] args)
{
SQLiteConnection sqlite_conn;
sqlite_conn = CreateConnection();
//CreateTable(sqlite_conn);
InsertData(sqlite_conn);
ReadData(sqlite_conn);

Console.ReadKey();
}

static SQLiteConnection CreateConnection()
{

SQLiteConnection sqlite_conn;
// Create a new database connection:
sqlite_conn = new SQLiteConnection("Data Source=database.db;Version=3;New=True;Compress=True;");
// Open the connection:
try
{
sqlite_conn.Open();
}
catch (Exception ex)
{

}
return sqlite_conn;
}

static void CreateTable(SQLiteConnection conn)
{

SQLiteCommand sqlite_cmd;
string Createsql = "CREATE TABLE SampleTable(Col1 VARCHAR(20), Col2 INT)";
string Createsql1 = "CREATE TABLE SampleTable1(Col1 VARCHAR(20), Col2 INT)";
sqlite_cmd = conn.CreateCommand();
sqlite_cmd.CommandText = Createsql;
sqlite_cmd.ExecuteNonQuery();
sqlite_cmd.CommandText = Createsql1;
sqlite_cmd.ExecuteNonQuery();

}

static void InsertData(SQLiteConnection conn)
{
SQLiteCommand sqlite_cmd;
sqlite_cmd = conn.CreateCommand();
sqlite_cmd.CommandText = "INSERT INTO SampleTable(Col1, Col2) VALUES ('Test Text ', 1);";
sqlite_cmd.ExecuteNonQuery();
sqlite_cmd.CommandText = "INSERT INTO SampleTable(Col1, Col2) VALUES ('Test1 Text1 ', 2);";
sqlite_cmd.ExecuteNonQuery();
sqlite_cmd.CommandText = "INSERT INTO SampleTable(Col1, Col2) VALUES ('Test2 Text2 ', 3);";
sqlite_cmd.ExecuteNonQuery();


sqlite_cmd.CommandText = "INSERT INTO SampleTable1(Col1, Col2) VALUES ('Test3 Text3 ', 3);";
sqlite_cmd.ExecuteNonQuery();

}

static void ReadData(SQLiteConnection conn)
{
SQLiteDataReader sqlite_datareader;
SQLiteCommand sqlite_cmd;
sqlite_cmd = conn.CreateCommand();
sqlite_cmd.CommandText = "SELECT * FROM SampleTable";

sqlite_datareader = sqlite_cmd.ExecuteReader();
while (sqlite_datareader.Read())
{
string myreader = sqlite_datareader.GetString(0);
Console.WriteLine(myreader);
}
conn.Close();
}
}
}

Membuat Menu Sederhana, Loop dalam C#

0

Loop atau perulangan dapat diimplementasikan pada tampilan menu berulang, artinya menu akan terus tampil sebelum user memutuskan keluar. Banyak sistem yang menggunakan konsep menu berulang ini, seperti pada mesin ATM, menu pada perintah kartu perangkat mobile, atau pada sistem Point Of Sale (POS).

Berikut ini adalah contoh sederhana perulangan yang diimplementasikan pada tampilan menu untuk user. User dapat memasukkan pilihan angka sesuai menu hingga user memutuskan untuk keluar.

static void Main(string[] args)
{
Console.WriteLine(“==========================================================”);
Console.WriteLine(“**********************************************************”);
Console.WriteLine(” APLIKASI MYMENU “);
Console.WriteLine(” BY : ELFAY “);
Console.WriteLine(“**********************************************************”);
Console.WriteLine(“==========================================================”);

int pilih;

do
{
Console.WriteLine(“Silakan pilih menu berikut dengan mengetikkan angkanya : “);
Console.WriteLine(“[1]. MENU 1”);
Console.WriteLine(“[2]. MENU 2”);
Console.WriteLine(“[3]. MENU 3”);
Console.WriteLine(“[4]. MENU 4”);
Console.WriteLine(“[5]. KELUAR”);
Console.Write(“Menu yang ANDA PILIH : “);
pilih = Convert.ToInt32(Console.ReadLine());
switch (pilih)
{
case 1:
Console.WriteLine(“Anda memilih menu 1”);
break;
case 2:
Console.WriteLine(“Anda memilih menu 2”);
break;
case 3:
Console.WriteLine(“Anda memilih menu 3”);
break;
case 4:
Console.WriteLine(“Anda memilih menu 4”);
break;
case 5:
Console.WriteLine(“Keluar”);
break;
default:
Console.WriteLine(“Invalid.”);
break;
}
}
while (pilih != 5);

Console.ReadKey();
}

Contoh Modifikasi untuk Kasus Menu Lain

//SOURCE CODE 0022
static void Main(string[] args)
{
Console.WriteLine(“==========================================================”);
Console.WriteLine(“**********************************************************”);
Console.WriteLine(” APLIKASI MENU ENAK “);
Console.WriteLine(” BY : ELFAY “);
Console.WriteLine(“**********************************************************”);
Console.WriteLine(“==========================================================”);

bool aa = true;
int pilih;

while (aa == true)
{
Console.WriteLine(“Silakan pilih menu makanan berikut dengan mengetikkan angkanya : “);
Console.WriteLine(“[1]. SATE KAMBING”);
Console.WriteLine(“[2]. TELUR BALI”);
Console.WriteLine(“[3]. AYAM GORENG”);
Console.WriteLine(“[4]. LELE GORENG SAMBAL”);
Console.WriteLine(“[5]. KELUAR”);
Console.Write(“Menu yang ANDA PILIH : “);
pilih = Convert.ToInt32(Console.ReadLine());
switch (pilih)
{
case 1:
Console.WriteLine(“Anda memilih SATE KAMBING.”);
break;
case 2:
Console.WriteLine(“Anda memilih TELUR BALI”);
break;
case 3:
Console.WriteLine(“Anda memilih AYAM GORENG”);
break;
case 4:
Console.WriteLine(“Anda memilih LELE GORENG SAMBAL”);
break;
case 5:
Console.WriteLine(“Keluar”);
aa = false;
break;
default:
Console.WriteLine(“Input tidak sesuai.”);
break;
}
}


Console.ReadKey();
}

Modifikasi Menu untuk Menampilkan Karakter * dengan Membentuk Bangun Tertentu

//SOURCE CODE 0023
static void Main(string[] args)
{
Console.WriteLine(“==========================================================”);
Console.WriteLine(“**********************************************************”);
Console.WriteLine(” APLIKASI MENU BANGUN “);
Console.WriteLine(” BY : ELFAY “);
Console.WriteLine(“**********************************************************”);
Console.WriteLine(“==========================================================”);


int pilih;

do
{
Console.WriteLine(“Silakan pilih menu berikut dengan mengetikkan angkanya : “);
Console.WriteLine(“[1]. PERSEGI”);
Console.WriteLine(“[2]. SEGITIGA SIKU LANCIP ATAS”);
Console.WriteLine(“[3]. SEGITIGA SIKU LANCIP BAWAH”);
Console.WriteLine(“[4]. KELUAR”);
Console.Write(“Menu yang ANDA PILIH : “);
pilih = Convert.ToInt32(Console.ReadLine());
switch (pilih)
{
case 1:
for (int i = 0; i <= 10; i = i + 1)
{
for (int a = 0; a <= 20; a = a + 1)
{
Console.Write(“*”);
}

Console.WriteLine();
}
break;
case 2:
for (int i = 0; i <= 10; i = i + 1)
{
for (int a = 0; a <= i; a = a + 1)
{
Console.Write(“*”);
}

Console.WriteLine();
}
break;
case 3:
for (int i = 0; i <= 10; i = i + 1)
{
for (int a = 10; a >= i; a = a – 1)
{
Console.Write(“*”);
}

Console.WriteLine();
}
break;
case 4:
Console.WriteLine(“Keluar”);

break;
default:
Console.WriteLine(“Input tidak sesuai.”);
break;
}
}
while (pilih != 4);

Console.ReadKey();

}

Latihan Perulangan dengan FOR dalam C#

0

Sebelumnya kita telah berlatih perulangan menggunakan WHILE dan DO WHILE. Nah, alternatif selanjutnya, dan bahkan sering diimplementasikan adalah perulangan atau iterasi menggunakan FOR.

Adapun sintaks umum dari perulangan FOR :

for(statemen 1; statemen 2; statemen 3){

//blok kode yang dieksekusi

}

Untuk lebih jelasnya, berikut contoh implementasi dalam kodenya :

  • Menampilkan barisan angka dari 0 hingga 20

static void Main(string[] args)
{
//menampilkan angka 0-20
for (int i = 0; i <= 20; i=i+1)
{
Console.WriteLine(i);
}
Console.ReadKey();
}

  • Menampilkan angka ganjil kurang dari 30

static void Main(string[] args)
{
//menampilkan angka ganjil di bawah 30
int cek;
for (int i = 0; i < 30; i=i+1)
{
cek = i % 2;
if (cek == 1)
{
Console.WriteLine(i);
}

}
Console.ReadKey();
}

  • Menampilkan angka genap antara 20 dan 50

static void Main(string[] args)
{
//menampilkan angka genap antara 20-50
int cek;
for (int i = 21; i < 50; i = i + 1)
{
cek = i % 2;
if (cek == 0)
{
Console.WriteLine(i);
}


}
Console.ReadKey();

}

  • Menampilkan angka ganjil dan genap 0-20 dengan ganjil ada keterangan putih, genap ada keterangan hitam

//SOURCE CODE 0018
static void Main(string[] args)
{
// ganjil-genap antara 0-20, ganjil putih, genap hitam
int cek;
for (int i = 0; i <= 20; i = i + 1)
{
cek = i % 2;
if (cek == 0)
{
Console.WriteLine(i+”. hitam”);
}
else if(cek == 1){
Console.WriteLine(i + “. putih”);
}
}
Console.ReadKey();
}

  • Menampilkan barisan karakter * membentuk persegi

//SOURCE CODE 0019
static void Main(string[] args)
{
//barisan bintang membentuk persegi
for (int i = 0; i <= 3; i = i + 1)
{
for (int a = 0; a <= 3; a = a + 1) {
Console.Write(“*”);
}

Console.WriteLine();
}
Console.ReadKey();
}

  • Menampilkan barisan karakter * membentuk segitiga siku lancip atas

//SOURCE CODE 0020
static void Main(string[] args)
{ // segitika siku lancip atas
for (int i = 0; i <= 3; i = i + 1)
{
for (int a = 0; a <= i; a = a + 1)
{
Console.Write(“*”);
}

Console.WriteLine();
}
Console.ReadKey();
}

  • Menampilkan barisan karakter * membentuk segitiga siku lancip bawah

//SOURCE CODE 0021
static void Main(string[] args)
{ // segitika siku lancip bawah
for (int i = 0; i <= 3; i = i + 1)
{
for (int a = 3; a >= i; a = a – 1)
{
Console.Write(“*”);
}

Console.WriteLine();
}
Console.ReadKey();
}

SQLite Studio, Tool Manajemen Basis Data SQLite

0

SQLite Studio merupakan aplikasi manajemen basis data berukuran kecil yang dapat membantu kita dalam membuat dan mengatur database SQLite. Tool ini bersifat portable, gratis, open source, dan tentunya free sehingga pengguna tidak perlu khawatir akan isu lisensinya.

SQLite Studio memiliki fitur-fitur sebagaimana SQL code editor umumnya, mampu melakukan ekspor dan impor data dalam beragam format, seperti JSON, SQL  maupun XML, fasilitas database yang terenkripsi, serta mendukung histori SQL dan DLL. Selain itu, tool ini juga menyediakan fitur populasi data untuk testing.

Untuk proses pemasangannya, SQLite Studio sangatlah sederhana. Mengingat ia bersifat portable maka tidak perlulah kita repot dengan instalasi. Cukup kita download paket zipnya dari https://github.com/pawelsalawa/sqlitestudio/releases/ dan kemudian kita ekstrak. Untuk uji coba di sini, kita menggunakan SQLite rilis terbaru yakni SQLite Studio versi 3.4.4. Kita juga dapat mengunduh versi installer-nya melalui https://sqlitestudio.pl/.

Setelah kita berhasil menjalankan SQLite Studio, selanjutnya kita dapat mencoba membuka database SQLite. Database yang diuji coba adalah sampel database SQLite yang dapat diunduh di laman https://www.sqlitetutorial.net/sqlite-sample-database/. Cara membuka database melalui SQLite Studio, klik menu “Database” lalu pilih “Add database”. Pada isian file, arahkan pada file database SQLite yang kita miliki. Sebelum klik OK, kita juga menguji koneksi ke database dengan klik “Test connection”. Bila sudah benar-benar terhubung, baru kita bisa melanjutkan OK.

Sampai di sini, kita sudah siap untuk melakukan manajemen atau pengaturan pada database kita. Sangat mudah bukan ? Selamat belajar.

Cara Instalasi SQLite

0

SQLite merupakan database open source yang populer digunakan dalam berbagai jenis aplikasi. SQLite sebenarnya adalah library bahasa C yang mengimplementasikan diri sebagai SQL database engine. Banyak perangkat lunak, baik seluler maupun desktop yang menggabungkan SQLite dalam sistemnya. Beberapa fitur utama dari SQLite diantaranya :

> stabilitas
> kompatibilitas yang lintas platform
> Backwards compatible
> Ukuran yang kecil : semua library kurang dari 600 Kb.
> Tersedia binari yang telah dikompilasi sebelumnya

Source code dari SQLite dikembangkan secara berkelanjutan dan pihak developer telah merencanakan untuk memberikan dukungan hingga 2050.

Instalasi SQLite sangat mudah. Bahkan pada sistem operasi seperti Mac OS X, SQLite sudah tersedia dan tinggal dijalankan. Untuk uji coba kita kali ini, kita menggunakan lingkungan sistem operasi Windows 10. Langkah instalasinya adalah sebagai berikut :
1. Siapkan file zip dari SQLite. Kita dapat mendownloadnya dari LINK INI.
2. Ekstrak file zip tersebut, idealnya pada drive C. Jadi, akses direktorinya menjadi C:\sqlite
3. Pada folder hasil ekstrak terdapat tiga file exe. Jalankan file yang bernama sqlite3.
4. Muncul layar CLI dari SQLite. Sampai di sini, kita sudah siap menjalankan perintah SQL untulk SQlite.

Barisan Bilangan yang Habis Dibagi Tiga (C# WHILE – DO WHILE)

0

Untuk latihan looping atau perulangan kali ini, kita menggunakan studi kasus mencari angka yang habis dibagis 3 di antara dua angka tertentu. Pemecahan iterasinya menggunakan WHILE dan DO WHILE. 

MENGGUNAKAN WHILE

//SOURCE CODE 0017 

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

namespace _2023_10_17_habisBagiTiga
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“++++++++++++++++++++++++++++++++++++++++++++++”);
Console.WriteLine(” Bilangan Habis Bagi Tiga “);
Console.WriteLine(” Oleh : ELFAY “);
Console.WriteLine(“++++++++++++++++++++++++++++++++++++++++++++++”);

int abc, min, maks, def; //deklarasi variabel

//meminta inputan dari user untuk batas minimal dan batas maksimal
Console.Write(“Masukkan angka awal : “);
min = Convert.ToInt32(Console.ReadLine());
Console.Write(“Masukkan angka terakhir : “);
maks = Convert.ToInt32(Console.ReadLine());

Console.WriteLine(“\nBarisan bilangan habis dibagi 3 antara ” + min + ” dan ” + maks + ” : “);

//variabel abc diisi dengan batas angka bawah
abc = min;

while(abc <= maks) //selama abc masih kurang dari atau sama dengan maks, lakukan prosedur berikut
{
def = abc % 3; // variabel def menyimpan nilai modulus atau sisa
if (def == 0) //jika def berisi 0 maka angka abc habis dibagi 3
{
Console.Write(abc + ” “); //tulis angka abc yang habis dibagi 3 tersebut
}
abc++; // abc dinaikkan satu dan kembali ke WHILE untuk diperiksa apakah masih memenuhi atau tidak
}

Console.ReadKey();
}
}
}

MENGGUNAKAN DO WHILE

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

namespace _2023_10_17_habisBagiTiga
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“++++++++++++++++++++++++++++++++++++++++++++++”);
Console.WriteLine(” Bilangan Habis Bagi Tiga “);
Console.WriteLine(” Oleh : ELFAY “);
Console.WriteLine(“++++++++++++++++++++++++++++++++++++++++++++++”);

int abc, min, maks, def; //deklarasi variabel

//meminta inputan dari user untuk batas minimal dan batas maksimal
Console.Write(“Masukkan angka awal : “);
min = Convert.ToInt32(Console.ReadLine());
Console.Write(“Masukkan angka terakhir : “);
maks = Convert.ToInt32(Console.ReadLine());

Console.WriteLine(“\nBarisan bilangan habis dibagi 3 antara ” + min + ” dan ” + maks + ” : “);

//variabel abc diisi dengan batas angka bawah
abc = min;

do
{
def = abc % 3; // variabel def menyimpan nilai modulus atau sisa
if (def == 0) //jika def berisi 0 maka angka abc habis dibagi 3
{
Console.Write(abc + ” “); //tulis angka abc yang habis dibagi 3 tersebut
}
abc++; // abc dinaikkan satu dan kembali ke WHILE untuk diperiksa apakah masih memenuhi atau tidak

} while (abc <= maks) ;

Console.ReadKey();
}
}
}

Angka Genap dalam Rentang tertentu (C# DO WHILE)

0

Kita dapat melakukan perulangan atau iterasi dalam pemrograman C# dengan menggunakan DO WHILE. Hampir mirip dengan WHILE, prosedur iterasi dengan DO WHILE, aksi iterasi akan terus dilakukan selama kondisinya bernilai TRUE. Bedanya, aksi pertama pada DO WHILE dilakukan sebelum pemeriksaan kondisi sedangkan pada WHILE pemeriksaan dilakukan di awal meski untuk aksi yang pertama.

//SOURCE CODE 0016

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

namespace _2023_10_17_Do_While
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“++++++++++++++++++++++++++++++++++++++++++++++”);
Console.WriteLine(” DO WHILE looping Bilangan Genap “);
Console.WriteLine(” Oleh : ELFAY “);
Console.WriteLine(“++++++++++++++++++++++++++++++++++++++++++++++”);
int start, finish;
int hitung;
int check;
start = 0;
finish = 0;
Console.Write(“Masukkan angka awal : “);
start = Convert.ToInt32(Console.ReadLine());
Console.Write(“Masukkan angka akhir : “);
finish = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“———————————————-“);
Console.WriteLine(“Barisan angka genap antara ” + start + ” dan ” + finish + ” : “);
Console.WriteLine(“———————————————-“);
hitung = start;
do
{
check = hitung % 2;
if (check == 0) {
Console.Write(hitung + ” “);
}
hitung++;

} while (hitung < finish);
Console.ReadKey();
}
}
}

Angka Ganjil dalam Rentang Tertentu (C# WHILE)

0

Sintaks WHILE merupakan salah satu ekspresi yang digunakan untuk looping atau perulangan dalam pemrograman C#. Untuk latihan di sini, kita menggunakan studi kasus menampilkan deretan angka ganjil dalam rentang angka tertentu yang diinputkan oleh user. 

 

//SOURCE CODE 0015

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

namespace _2023_10_17_XRPLA
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“+++++++++++++++++++++++++++++++++++++++++++++”);
Console.WriteLine(“+++++++++++++++++++++++++++++++++++++++++++++”);
Console.WriteLine(” Angka Ganjil dalam Rentang Tertentu “);
Console.WriteLine(” Oleh : ELFAY “);
Console.WriteLine(“+++++++++++++++++++++++++++++++++++++++++++++”);
int awal, akhir;
awal = 0;
akhir = 0;
int angka;
int cek;
Console.Write(“Masukkan angka awal : “);
awal = Convert.ToInt32(Console.ReadLine());
Console.Write(“Masukkan angka akhir : “);
akhir = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“+++++++++++++++++++++++++++++++++++++++++++++”);
angka = awal;
Console.WriteLine(“Barisan angka ganjil dalam rentang ” + awal + ” dan ” + akhir + ” : “);
Console.WriteLine(“———————————————“);
while (angka < akhir)
{
cek = angka % 2;
if (cek == 1)
{
Console.Write(angka + ” “);
}
angka = angka + 1;
}
Console.ReadKey();
}
}
}

Program Konversi Jarak (Percabangan C#)

0

Studi kasus yang digunakan dalam latihan ini adalah konversi jarak dengan satuan asal pilihan km dan m, dan tujuan konversi dengan pilihan inchi dan cm. Pemecahan masalah dalam pemrograman C# menggunakan ekspresi if .. else if.

//SOURCE CODE 0014

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

namespace _2023_09_25_konversi_jarak
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“======================================================================”);
Console.WriteLine(“———————————————————————-“);
Console.WriteLine(” PROGRAM KONVERSI JARAK “);
Console.WriteLine(” DEVELOPED BY : ELFAY “);
Console.WriteLine(“———————————————————————-“);
Console.WriteLine(“======================================================================”);

// km /m -> inch / cm
//variabel berat dan satuan
float jarak = 0F;
string strJarak;
string satuanInput;
string pilihMenu;
string satuanOutput = “”;
float hasilkonversi = 0F;

Console.Write(“Masukkan nilai jarak yang akan dikonversi : “);
strJarak = Console.ReadLine();
jarak = float.Parse(strJarak, CultureInfo.InvariantCulture.NumberFormat);
Console.Write(“Masukkan satuan (Pilihan : km atau m) : “);
satuanInput = Console.ReadLine();

Console.WriteLine(“———————————————————————-“);
Console.WriteLine(jarak + ” ” + satuanInput);
Console.WriteLine(“———————————————————————-“);
Console.WriteLine(“Satuan tujuan konversi (Pilih salah satu dengan mengetikkan abjad pilihan, misal : A) : “);
Console.WriteLine(“[A]. INCH “);
Console.WriteLine(“[B]. CM”);

Console.Write(“Pilihan anda : “);
pilihMenu = Console.ReadLine();
Console.WriteLine(“———————————————————————-“);

if (satuanInput == “Km” || satuanInput == “km” || satuanInput == “KM”)
{
if (pilihMenu == “A” || pilihMenu == “a”)
{
// 1 m = 39.37007874 inch, 1 km = 1000 m = 39370.07874 inch
hasilkonversi = jarak * 39370.07874F;
satuanOutput = “inch”;
}
else if (pilihMenu == “B” || pilihMenu == “b”)
{
// 1 km = 1000 m = 100000 cm
hasilkonversi = jarak * 100000F;
satuanOutput = “cm”;

}
else
{
Console.WriteLine(“———————————————————————-“);
Console.WriteLine(“MASUKAN PILIHAN TIDAK VALID”);
Console.WriteLine(“———————————————————————-“);
}
}
else if (satuanInput == “m” || satuanInput == “M”)
{
if (pilihMenu == “A” || pilihMenu == “a”)
{
// 1 m = 39.37007874 inch
hasilkonversi = jarak * 39.37007874F;
satuanOutput = “inch”;
}
else if (pilihMenu == “B” || pilihMenu == “b”)
{
// 1 m = 100 cm
hasilkonversi = jarak * 100F;
satuanOutput = “cm”;

}
else
{
Console.WriteLine(“———————————————————————-“);
Console.WriteLine(“MASUKAN PILIHAN TIDAK VALID”);
Console.WriteLine(“———————————————————————-“);
}
}
else
{
Console.WriteLine(“———————————————————————-“);
Console.WriteLine(“SATUAN TIDAK VALID”);
Console.WriteLine(“———————————————————————-“);
}

Console.WriteLine(“———————————————————————-“);
Console.WriteLine(jarak + ” ” + satuanInput + ” = ” + hasilkonversi + ” ” + satuanOutput);
Console.WriteLine(“———————————————————————-“);

Console.ReadKey();
}
}
}

- Advertisement -

Recent Posts