hapidzfadli.id
News Update
Loading...

Featured

[Featured][recentbylabel]

Featured

[Featured][recentbylabel]

Sabtu, 17 Oktober 2020

Karakteristik Bahasa Pemrograman Dart

Karakteristik Bahasa Pemrograman Dart

Dart merupakan bahasa pemrograman yang nyaman dan mudah di pelajari baik untuk programer expert maupun pemula. Bahasa Dart memiliki fitur modern serta lengkap. Dart memiliki kemiripan dengan bahasa pemrograman yang sudah terlebih dahulu ada seperti Java, C#, Javascript, Swift dan Kotlin. Jadi buat anda yang tadinya merupakan programer yang sering menggunakan bahasa seperti tadi tidak akan kesulitan untuk mencoba dan mempelajari bahasa dart.

Berikut contoh kode pemrograman bahasa dart:

main() {
  var name = 'hapidzfadli';
  String language = 'Dart';
  print('Hello $name. Welcome to $language!');
}

Bagi anda yang tadinya developer javascript ataupun kotlin pastinya sudah bisa menembak bahwa kode di atas di tujukan untuk menampilkan string dengan tulisan “Hello hapidzfadli. Welcome to Dart!” pada konsol.

Dart memiliki karakteristik sebagai berikutt:

  • Statically typed, sebagai bahasa yang memiliki karakteristik statically typed. anda harus mendefinisikan variabel sebelum menggunakanya.
  • Type inference, tipe sangat membantu kita, karena kita tidak perlu repot repot mendefinisikan tipe data variabel secara eksplisit. Dengan adanya type inference dart mendeteksi secara otomatis suatu variabel yang di inisialisasi.
  • String expressions
  • Multi-paradigm: OOP & Functional, dart memiliki dua paradigma pemrograman yaitu OOP dan functional. Dengan adanya dua paradigma ini dapat membantu kita ketika menulis bhasa pemrograman


Menyelesaikan Plus Minus Challenge  dengan Javascript HackerRank

Menyelesaikan Plus Minus Challenge dengan Javascript HackerRank

 


Pada postingan kali ini saya akan kembali menyelesaikan tantangan dari hackerrank. Tantangan yang akan saya selesaikan yaitu Plus Minus Challenge. Dalam kasus ini kita di suruh untuk membuat function atau fungsi untuk menghitung rasio untuk angka positif, negatif dan nol

Contoh:

Jika kita di beri array dengan bilangan bulat di dalamnya seperti berikut [1, 2, 0, -1, -2]. Dalam array ini terdapat dua bilangan positif, dua bilangan negatif dan satu angka nol. Setelah menemukan berapa jumlah bilangan positif, negatif dan nol, selanjutnya kita bagi setiap jumlah bilangan ini dengan pangjang array nya, dalam array di atas panjang array nya 5. Jadi untuk bilangan positif rasionya 2 / 5 = 0, 4, untuk bilangan negatif 2 / 5 = 0,4 dan untuk nol 1 / 5 = 0,2. 

Jadi Hasilnya adalah:

  • Positif = 0,4
  • Negatif = 0,4
  • Nol = 0,1

Berikut code pemrograman untuk menyelesaikan Plus Minus Challenge menggunkan javascript:

function plusMinus(arr) {
var positif = 0
var negative = 0;
var nol = 0;

for( var i = 0; i < arr.length; i++){
    if (arr[i] < 0){
        negative += 1 / arr.length;
    }
    if (arr[i] > 0){
        positif += 1 / arr.length;
    }
    if (arr[i] === 0){
        nol += 1 / arr.length;
    }
}
console.log(positif);
console.log(negative);
console.log(nol);

}

Dalam kode di atas saya mendeklarasikan tiga buah variabel. Variabel positif di tujukan untuk menyimpan jumlah bilangan positif, variabel negatif untuk jumlah bilangan negatif begitupun dengan variabel nol untuk jumlah bilangan nol. 

Penggunaan for lopp di tujukan untuk mengulangi setiap bilangan yang ada dalam array, di dalam for terdapat tiga buah kondisi menggunakan if. Kondisi pertama bila bilangan array lebih kecil dari nol, jumlah bilangan negatif bertambah satu. Kondisi bila bilangan array lebih besar dari nol jumlah bilangan positif bertambah satu. Dan kondisi ketiga jika bilangan array sama dengan nol jumlah bilangan nol bertambah satu. Terakhir tampilkan setiap variabel dengan console.log.

Berikut  kode lain yang dapat anda gunakan:

function plusMinus(arr) {
     let positives = 0, negatives = 0, zeros = 0;
     const len = arr.length || 0;
      
     if (len > 0 && len <= 100) {
          arr.map((elem, key) => {
               if (elem > 0) {
                    positives++;
               } else if (elem < 0) {
                    negatives++; 
               } else {
                    zeros++;
               }
                  
               return elem; 
          }); 
     } 
     
     console.log((positives / len) || 0);
     console.log((negatives / len) || 0);
     console.log((zeros / len) || 0);      
}
Menyelesaikan Simple Array Sum Challenge dengan Javascript #hackerrank

Menyelesaikan Simple Array Sum Challenge dengan Javascript #hackerrank

Hackerrank Challenge


Pada artikel ini saya akan menyelesaikan tantangan dari www.hackerrank.com. Situs www.hackerrank.com merupakan situs yang berisi tantangan tantangan untuk menyelesaikan masalah,dalam situs ini kita bisa menyelesaikan tantangan dengan berbagai bahasa pemrograman. Namun kali ini saya akan menyelesaikan satu tantangan yakni Simple Array Sum menggunkan bahasa pemrograman java script.

Dalam challange simple array sum kita di suruh menemukan jumlah bilangan dalam array. Misalnya jika dalam array terdapat integer seperti [1, 2, 3, 4, 5] maka jumlah dari array tersebut yaitu 1+2+3+4+5 = 15.

Untuk memecahkan masalah ini kita bisa menggunakan berbagai cara pertama kita bisa menggunakan pengulangan for. Seperti pada contoh kode berikut:

var numbers = [10, 20, 30, 40] // sums to 100
var sum = 0;
for (var i = 0; i < numbers.length; i++) {
  sum += numbers[i]
}

Dalam kode di atas kita membuat dua variabel. Variabel number di gunakan untuk menampung array dan variabel sum kita deklarasikan nol telebih dahulu, tapi nantinya variabel ini akan menampung jumlah bilangan array. Dan kita gunakan pengulangan for untuk mengulang setiap bilangan dalam array(number[i])  kemudian bilangan bilangan tersebut di masukan atau di tambahkan ke variabel sum dengan operator +=.

Berikut kode untuk hacker rank nya:

var sum = 0;

for (var i = 0; i < ar.length; i++){
    sum += ar[i];
}

return sum;

Cara kedua kita bisa menggunakan method reduce. Metode ini dapat kita gunakan untuk mengakumulasikan atau mengurangi nilai berdasarkan elemen di dalam array. Berikut contoh kodenya:

const numbers = [10, 20, 30, 40] // sums to 100
// function for adding two numbers. Easy!
const add = (a, b) =>
  a + b
// use reduce to sum our array
const sum = numbers.reduce(add)

Pada kode kedua ini kita menggunakan const untuk membuat veriabel. Dalam variabel add kita membuat function dengan arraw function. fungsi ini menggunakan dua argumen yaitu a dan b. Karena kita menggunakan metode reduce argumen a akan di petakan sebagai accumulator (Nilai yang dikembalikan dari callback terakhir) dan b sebagai currentValue (Elemen saat ini sedang diproses dalam array.).

Contoh Jika accumulator = 5 dan currentValue  = 10 maka fungi add akan mengembalikan nilai 15.

Berikut kode Simple Array Sum menggunakan reduce:

var sum = ar.reduce((a,b) => a + b);
    return sum;

Jumat, 16 Oktober 2020

Mengenal Confidentiality Attack Dan Cara Mengtasinya

Mengenal Confidentiality Attack Dan Cara Mengtasinya

Confidentiality Attack
source: pixabay.com

Confidentiality Attack merupakan jenis serangan yang membahayakan confidentiality atau infromasi yang seharusnya di rahasiakan, seperti informasi rekening bank, nomor kartu kredit dan dokumen rahasia pemerintah. Jika informasi ini dapat diretas kita dapat kehilangan privasi.

Penyerang dapat melakukan serangan confidentiality dengan beberapa metode seperti berikut:

Packet Capturing (Packet Sniffing)

Packet Capturing (Packet Sniffing) adalah jenis serangan jaringan yang dimana para penyerang menangkap atau meng-capture paket data yang ada dalam lalu lintas jaringan (biasanya frame ethernet). Jika data sudah di capture selanjutnya penyerang akan membaca setiap data untuk menemukan sensitive data seperti password dan nomor kartu dalam lalu lintas jaringan yang tidak di enkripsi. Bisanya proses ini dilakukan menggunakan software yaitu wireshark. Wireshark merupakan alat atau aplikasi untuk memecahkan masalah jaringan namun sering di salah gunakan oleh para peretas dengan niat buruk.

Password Attacks

Password attack merupkan serangan yang di gunakan untuk menhack kata sandi pengguna komputer supaya mendapatkan akses. Ada dua tipe jenis serangan password attack yaitu dictionary based attack (dimana para hacker mencoba semua kata yang ada dalam dictionary atau kata sandi yang dapat di gunakan untuk mendapatkan akses) dan brute force attack (diamana peretas mencoba setiap kemungkinan kombinasi kata sandi menggunakan alat serangan brute force untuk menempukan katasandi yang dapat di gunakan). 

Port Scanning dan Ping Sweeps

Port scanning adalah jenis serangan jaringan, dimana penyerang mencoba menemukan layanan yang sedang bejalan di komputer target dengan memindai port TCP / UDP. Selanjutnya penyerang akan mencoba membuat koneksi ke port TCP / UDP untuk menemukan port terbuka. Setelah di temukan penyerang dapat mengetahui services mana yang sedang berjalan dan perangkat lunak mana yang sedang berjalan di komputer target. Terakhir penyerang akan menyerang dan meretas komputer target dengan memanfaatkan kelemehan yang ada dalam sistem atau perangkat lunak yang sedang berjalan.

Ping sweep adalah jenis serangan jaringan lain di mana penyusup mengirim paket ping ICMP ECHO ke berbagai alamat IP untuk mengetahui mana yang merespons dengan ICMP ECHO REPLY.

Dengan demikian penyerang dapat mengidentifikasi komputer mana yang aktif dan komputer mana yang mati.


Dumpster Diving

Dumpster Diving adalah mencari apapun yang dapat berguna untuk menyerang jaringan seperti jika akan menyerang perusahaan kita harus menemukan nama karyawan, perangkat lunak yang digunakan, inspratruktur perangkat lunak yang di gunakan dll.


Wiretapping

Wiretapping atau penyadapan adalah jenis serangan yang meretas perangkat telekomunikasi seperti mendengarkan panggilan telepon orang lain.

Keylogger

Keylogger adalah serangan yang berjalan di belakang layar, keylogger dapat mencatat ketikan pengguna. Jadi ketika pengguna mengetik kata sandi di dalam komputer, kata sandi itu akan di simpan di dalam log kemudian akan di teruskan ke penyerang.

Social Engineering

Social Engineering adalah jenis serangan di mana seseorang dengan keterampilan interaktif yang sangat baik memanipulasi orang lain untuk mengungkapkan informasi tentang jaringan yang dapat digunakan untuk mencuri data.

Phishing and Pharming

Phishing adalah upaya hack informasi sensitif (biasanya informasi keuangan seperti userid bank / password detail kartu kredit dll), dengan mengirimkan email yang tidak diminta dengan faks URL. Pharming adalah serangan jaringan lain yang bertujuan mengarahkan lalu lintas dari satu situs web ke situs web lain.

Cara Mengatasi Confidentiality Attack

Untuk mengatasi atau meminimalisir jenis serang ini ada beberapa cara. Anda dapat menggunakan beberapa cara penanggulangan confidentiality berikut:

Password Management

Password management adalah program untuk mengelola kata sandi secara online, ini dapat menghindari serangan dictionary password attack.

Two-factor authentication

Two-factor authentication adalah system keamanan yang di buat untuk mencegah terjadinya serang password, dengan menggunakan ini penyerang harus melakukan dua kali autentikasi jika ingin mendapatkan akses.

Enkripsi Setiap Data

Enkripsi setiap data anda jika tidak ingin data anda di capture atau di sniff.

Jangan Gunakan Software Bajakan

Software bajakan memang sangat membantu kita yang gak punya duit haha, tapi hati hati dalam software bajakan tersebut mengandung virus yang bisa meretas komputer kita. Jadi ketika mengisntal software bajakan anda harus siap dengan resikonya.

Dan masih banyak lagi caara yang dapat anda lakukan untuk mengatasi serangan Confidentiality Attack. Silahkan pahami setiap serangan, nanti anda juga akan paham dan menemukan solusinya.


Selasa, 22 September 2020

Tipe Data Dictionary #BelajarPython

Tipe Data Dictionary #BelajarPython



Dalam Python, dictionary sering juga disebut sebagai mapping. Tipe ini memiliki cara kerja yang hampir mirip dengan asosiatif (hash table) di dalam bahasa pemrograman lain, yaitu array yang indeksnya berupa nama tertentu (biasanya bertipe string, bukan bertipe bilangan). Tipe data ini mendefinisikan relasi satu ke satu antara kunci (key) dan nilai (value).

Bentuk umum pendefinisian dictionary adalah:
variabel = {kuci1:nilai1, kunci2:nilai2,...}

Contoh: 
>>> d = {'dirut':'bimo', 'manager':'hapid'}
>>> d
{'dirut': 'bimo', 'manager': 'hapid'}
>>> d['dirut']
'bimo'
>>>

Pada contoh diatas kita mendefinisikan dictionary d dengan dua buah elemen 'dirut' dan 'manager' desebut kunci atau kunci atau indeks elemen (key), sedangkan 'bimo' dan 'hapid' desebut nilai elemen(value).

Berikut ini contoh sederhana yang menunjukan tipe data dictionary:
def main():
# membuat dan mengisi nilai ke dalam dictionary
d = {'satu':10, 'dua':20, 'tiga':30}

# menampilkan nilai dictionary
print("d['satu']:", d['satu'])
print("d['dua']:", d['dua'])
print("d['tiga']:", d['tiga'])
print("d['dua'] * d['tiga']:", (d['dua'] * d['tiga']))

if __name__ == "__main__":
main()

Hasil Program:
d['satu']: 10
d['dua']: 20
d['tiga']: 30
d['dua'] * d['tiga']: 600

d['satu'] menunjukan elemen pertama dari dictionary d, d['dua'] elemen kedua, dan d'[tiga'] elemen ketiga. Pada kode di atas string dan elemen dictionary yang di tampilkan dengan fungsi print() di pisah dengan tanda koma. Ketika tanda koma digunakan sebagai pemisah, kita tidak perlu menggunakan sepasi untuk untuk memisahkan data karena fungsi print() otomatis akan membuat spasi pada masing masing data tersebut. Selain menggunakan tanda koma, Anda dapat menulis kode di atas menggunakan operator + untuk menyambung string dengan nilai yang di hasilkan. Karena elemen elemen di dalam dictionary pada kode di atas bertipe numerik maka ketika di tampilkan dengan fungsi print() kita perlu mengkonversi terlebih dahulu ke tipe str. Konversi diperlukan karena nilai tersebut akan di gabung dengan keterangan yang bertipe string. Dengan demikian, Anda dapat menulisnya seperti berikut:
   # menampilkan nilai dictionary
print("d['satu']:", + str (d['satu']))
print("d['dua']:", + str (d['dua']))
print("d['tiga']:", + str (d['tiga']))
print("d['dua'] * d['tiga']:", + str ((d['dua'] * d['tiga'])))

Jika anda lebih menyukai format string gaya bahasa C, anda dapat mengubah kode di atas menjadi seperti berikut:

Dalam Python, kita di izinkan juga untuk membuat dictionary yang nilainya tidak berasal dari tipe data sejenis, seperti ditunjukan oleh kode berikut:
def main():
# nilai dictionary berbeda tipe data
d = {'nama':"Arimbi", 'uts':95.25, 'uas':92.75, 'nilai':'A'}

# menampilkan nilai dictionary
print("Nama: ", d['nama'])
print("Nilai UTS ", d['uts'])
print("Nilai UAS: ", d['uas'])
print("Nilai Indeks: ", d['nilai'])

if __name__ == "__main__":
main()

Hasil program:
Nama:  Arimbi
Nilai UTS 95.25
Nilai UAS: 92.75
Nilai Indeks: A

Pada contoh kode di atas dictionary d memiliki nilai gabungan antara tipe string, bilangan rill dan karakter.

Menambah Elemen ke dalam Dictionary


Jumlah elemen yang terdapat di dalam dictionary dapat di tambah sesuai kebutuhan. Caranya adalah dengan menuliskan perintah yang berisi kunci dan nilai baru kedalam nama dictionary bersangkutan.

Contoh:
>>> d = {'satu':10, 'dua':20, 'tiga':30}
>>> d['empat'] = 40
>>> d
{'satu': 10, 'dua': 20, 'tiga': 30, 'empat': 40}

Perintah d['empat'] = 40 secara otomatis akan menambah elemen baru ke dalam dictionary d, dengan kunci empat dan nilai 40.
def main():
d = {'satu':10, 'dua':20, 'tiga':30}

# elemen dictionary sebelum ditambah
print("Elemen dictionary sebelum ditambah: ")
print(d)

# menambah elemen baru ke dalam dictionary
d['empat'] = 40
d['lima'] = 50

# elemen dictionary setelah ditambah
print("\nElemen dictionary setelah ditambah: ")
print(d)

if __name__ == "__main__":
main()

Hasil program:
Elemen dictionary sebelum ditambah: 
{'satu': 10, 'dua': 20, 'tiga': 30}

Elemen dictionary setelah ditambah:
{'satu': 10, 'dua': 20, 'tiga': 30, 'empat': 40, 'lima': 50}

Mengubah Elemen dalam Dictionary 


Nilai elemen yang sudah didefinisikan di dalam dictionary dapat diubah sesuai kebutuhan, yaitu dengan menggunakan bentuk umum berikut:
nama_dictionary[kunci] = nilai baru

Contoh:
>>> d = {'satu':10, 'dua':20, 'tiga':30}
>>> d['satu'] = 60
>>> d['tiga'] = 90
>>> d
{'satu': 60, 'dua': 20, 'tiga': 90}

Pada contoh di atas nilai dari elemen d['satu'] akan di ubah nilainya dari 10 menjadi 60 dan d ['tiga'] nilainya akan di ubah dari 30 menjadi 90.
def main():
d = {'satu':10, 'dua':20, 'tiga':30}

# elemen dictionary sebelum diubah
print("Elemen dictionary sebelum diubah: ")
print(d)

# mengubah nilai elemen d['satu'] dan d['tiga']
d['satu'] = 60
d['tiga'] = 90

# elemen dictionary setelah diubah
print("\nElemen dictionary setelah diubah: ")
print(d)

if __name__ == "__main__":
main()

Hasil program:
Elemen dictionary sebelum diubah: 
{'satu': 10, 'dua': 20, 'tiga': 30}

Elemen dictionary setelah diubah:
{'satu': 60, 'dua': 20, 'tiga': 90}

Ada satu hal yang sangat penting untuk di perhatikan dalam melakukan perubahan dalam dictionary, yaitu penulisan kunci. Kunci dalam dictionary bersifat case-sensitive. Ini berarti bahwa d['satu'] tidak akan sama dengan d['Satu']. Jika penulisan kunci berbeda dengan yang sudah di definisikan di dalam dictionary maka akan di anggap menambah elemen baru, bukan mengubahnya.

Contoh:
>>> d = {'satu':10, 'dua':20, 'tiga':30}
>>> #mengubah d['satu'] mejadi 60
>>> d['satu'] = 60
>>> d['Satu'] = 60
>>> d
{'satu': 60, 'dua': 20, 'tiga': 30, 'Satu': 60}

Pada contoh di atas, kunci pada baris kedua di tulis dengan 'satu' (huruf s di tulis dalam huruf kecil) sedangkan pada baris ketiga kunci di tulis dengan 'Satu' (huruf S ditulis dalam huruf besar/kapital).
def main():
d = {'satu':10, 'dua':20, 'tiga':30}

# elemen dictionary sebelum diubah
print("Elemen dictionary sebelum diubah: ")
print(d)

# mengubah nilai elemen d['satu']
d['satu'] = 60

# menambah elemen d['Satu']
d['Satu'] = 130

# elemen dictionary setelah diubah
print("\nElemen dictionary setelah diubah: ")
print(d)

if __name__ == "__main__":
main()

Hasil Program:
Elemen dictionary sebelum diubah: 
{'satu': 10, 'dua': 20, 'tiga': 30}

Elemen dictionary setelah diubah:
{'satu': 60, 'dua': 20, 'tiga': 30, 'Satu': 130}

Seperti yang anda lihat di atas sekarang dictionary d memiliki empat elemen. Ini disebabkan karena kunci 'Satu' belum terdapat di dalam dictionary d. Jadi jika ingin mengubah elemen di dictionary perhatikan baik baik penulisan kuncinya.

Menghapus Elemen dari Dictionary 


Selain ditambah dan diubah, Python juga mengizinkan kita untuk menghapus elemen dari suatu dictionary. Caranya adalah dengan perintah del seperti berikut:
del nama_dictionary[kunci]

Contoh:
def main():
d = {'satu':10, 'dua':20, 'tiga':30}

# elemen dictionary sebelum dihapus
print("Elemen dictionary sebelum dihapus: ")
print(d)

# menghapus nilai elemen d['satu'] dan d['tiga']
del d['satu']
del d['tiga']

# elemen dictionary setelah dihapus
print("\nElemen dictionary setelah dihapus: ")
print(d)

if __name__ == "__main__":
main()

Hasil Program
Elemen dictionary sebelum dihapus: 
{'satu': 10, 'dua': 20, 'tiga': 30}

Elemen dictionary setelah dihapus:
{'dua': 20}

Setelah di hapus elemen dictionary menjadi satu

Sama halnya seperti pada saat Anda mengubah elemen dictionary pada saat menghapus anda juga perlu memperhatikan penulisan kunci elemenya. Penulisan yang salah akan mengakibatkan kesalah fatal pada saat kode di eksekusi.

Senin, 21 September 2020

Tipe String Numerik dan Boolean #BelajarPython

Tipe String Numerik dan Boolean #BelajarPython


Python mendukung dua tipe dasar, yaitu, teks dan numerik. Tipe data tesk dapat di klasifikasikan sebagai karakter tunggual atau kumpulan karakter (string), sedangkan tipe numerik di klasifikasikan menjadi tipe bilangan bulat. bilangn rill, dan bilangan kompleks.

Tipe String

Dalam python, string di representasikan dengan tipe str dan merupakan kumpulan karakter Unicode. String dapat di buat menggunakan tanda petik tunggal, ganda, maupun triple (petik tunggal atau ganda yang di tulis tiga kali).

Contoh:

str1 = 'ini string yang di gunakan untuk petik tunggal'
str2 = "ini adalah string yang di gunakan untuk petik ganda"
str3 = """ ini adalah string panjang yang di tulis menggunakan tanda petik sebanyak tiga kali.
jinis string ini digunakan untuk teks yang terdiri dari beberapa baris"""


Ketiga penggunaan string di atas di anggap legal di dalam python.

def main():
# membuat string
s1 = 'string pertama'
s2 = "string kedua"

# menampilkan string
print(s1)
print(s2)

if __name__ == "__main__":
main()


Hasil program:

string pertama
string kedua


Sama seperti bahasa C/C++, Python juga mengijinkan kita untuk menggunakan karakter escape sequance di dalam string, Karakter escape sequance adalah kumpulan karakter yang di awali oleh karakter backslash ('\'). Meskipun terdiri dari beberapa karakter namun escape sequance akan selalu di anggap sebagai karakter tunggal. Tabel di bawah ini menunjukan beberapa escape sequance yang sering di gunakan di dalam pemrograman Python.

Escape Sequence Keterangan
\\ Backslash(\)
\' Petik Tunggal
\" Petik Ganda
\n ASCII linefeed(lf)
\r ASCII carrige return(CR)
\ooo Bilangan oktal (basis 8)
\xhh Bilangan hexadesimal (basil 16)
\t ASCII tab (TAB)
\v ASCII vertical tab (VT)


Berikut adalah contoh code yang menunjukan penggunaan beberapa escape sequance.

def main():
s1 = 'Petik tunggal \'escape\', petik ganda "OK"'
s2 = "Petik tunggal 'OK', petik ganda \"escape\""
s3 = "Baris pertama\nBaris kedua"

print(s1)
print(s2)
print(s3)

if __name__ == "__main__":
main()


Hasil program:

Petik tunggal 'escape', petik ganda "OK"
Petik tunggal 'OK', petik ganda "escape"
Baris pertama
Baris kedua


Ketika kita ingin menuliskan tanda petik tunggul di dalam string yang di buat menggunakan petik tunggal, kita harus menggunakan escape sequence. Untuk petik ganda bisa langsung di masukan ke dalam string tersebut. Demikian juga jika string dibuat oleh petik ganda, petik ganda yang di tampilkan di dalam string harus di awali backslash sedangkan petik tunggal bisa langsung di tuliskan ke dalam string. Karakter \n diatas berguna untuk membuat baris baru.

Pada beberapa kasus kita justru ingin mengabaikan kehadiran escape squance di dalam string sebagai contoh, perhatikan kode berikut.

>> print("C:\new\test")
C:
ew est


Baris kode di atas akan memberikan hasil yang tidak di harapkan Permasalahan yang terjadi di karenakan \n akan di perlakukan sebagai garis baru dan karakter \t di perlakukan sebagai tab. Untuk mengatasi permasalahan ini kita perlu menulis tanda backslash dua kali, seperti berikut:

>> print("C:\\new\\test")
C:\new\test


Cara lain yang lebih sederhana adalah dengan membuat raw string yaitu string yang mengabaikan kehadiran karakter escape sequance. Artinya karakter escape seequance tidak akan di proses di dalam raw string sehingga string akan di tampilkan apa adanya. Untuk membuat string jenis ini, kita perlu memberi huruf r di depan string seperti berikut:

>> print(r"C:\new\test")
C:\new\test


Meskipun pada contoh di atas kita hanya menggunakan tanda backslash satu kali di dalam string, tapi karakter '\n' dan '\t' tidak di perlakukan sebagai escape sequance.

Membandingkan String

Dua buah string dapat di bandingkan menggunakan operator relasional <, <=, ==, =>, > dan >= Berikut ini contoh kode sederhana yang menunjukan proses perbandingan string .

def main():
s1 = "Python"
s2 = "Python"

print("s1: " + s1)
print("s2: " + s2)

if s1 == s2:
print("s1 sama dengan s2")
else:
print("s1 tidak sama dengan s2")

if __name__ == "__main__":
main()


Hasil program

s1: Python
s2: Python
s1 sama dengan s2


Pada contoh kode di atas kita menggunakan operator == ( tanda "sama dengan yang di tulis dua kali" ) untuk memeriksa apakah string s1 sama dengan string s2 atau tidak.

Mengambil Substring

Cara mengambil bagian string di dalam string dinamakan substring dilakukan menggunakan tanda bracket ([]). Kita dapat mengambil satu atau beberapa karakter dari string dengan cara menyertakan indeks atau posisi dari karakter bersangkutan. 

Hal pertama yang perlu anda ketahui sebelum melakukan ekstraksi substring adalah penentuan indeksnya, Dalam Python, string dapat di indeks melalui dua arah. Indeks string di awali dari 0 (untuk arah dari kiri ke kanan) atau -1 (untuk arah dari kanan ke kiri).

def main():
s = "Python"

print(s[0])
print(s[1])
print(s[-4])
print(s[:2])
print(s[2:])
print(s[1:4])
print(s[2:5])

if __name__ == "__main__":
main()

Hasil program:

P
y
t
Py
thon
yth
tho


Tipe Numerik

Untuk melakukan operasi numerik, Python mendukung tiga tipe bilangan, yaitu: integer, floating point, dan bilangan kompleks. Ingat! semua bilangan di dalam python merupakan objek yang tidak dapat di ubah atau bersifat immutable. Ini berarti setiap operasi perhitungan terhadap bilangan, kita akan selalu memperoleh objek bilangan yang baru sebagai hasilnya.

Tipe integer dapat berupa bilangan biner (basis 2), desimal (basis 10), oktal (basis 8), dan hexadesimal (basis 16). Nilai yang di tulis dalam notasi biner di tandai dengan awalan 0b (angka 0 yang di ikuti dengan huruf b), oktal dengan awalan 0o (angka yang di ikuti dengan huruf o), dan hexadesimal dengan awalan 0x (angka 0 yang di ikuti dengan huruf x).

Contoh:

0b1, 0b10111     # biner
1, 23 #desimal
0o1, 0o27 #oktal
0x1, 0x17 #hexadesimal

Huruf b, o dan x juga dapat di tulis dalam hururf kapital: B, O, dan X. Contoh kode di bawah ini menunjukan hal tersebut.

>>> binner = 0b10111
>>> binner
23
>>> oktal = 0o27
>>> oktal
23
>>> hexadesimal = 0x17
>>> hexadesimal
23
>>>

Bilangan kompleks tersusun atas dua bilangan pecahan: bagian-rill + bagian-imaginer, dan di akhiri oleh huruf J atau j. Dalam disiplin ilmu lain, bilangan kompleks saling di tandai dengan huruf i di belakangnya. Masing-masing bagian dari bilangan kompleks dapat di ambiln melalui atribut real dan imag.

Contoh:

>>> z = 4.1+2j
>>> print(z.real)
4.1
>>> print(z.imag)
2.0
>>>

Pada contoh di atas 4.1 adalah bagian rillnya dan 2.0 adalah bagian imaginernya.

Tipe Boolean 

Sebelum Python 2.3, Python tidak memiliki tipe khusus yang menangani nilai logika (benar/salah). Saat itu, nilai benar hanya di representasikan dengan nilai selain nol atau dengan string, tuple, list, maupun dictionary yang tidak kosong. Nilai salah direpresentasikan dengan nilai nol atau dengan string, tuple, list, maupun dictionary kosong.

Pada versi 2.3 dikenalkan tipe baru yaitu bool, yang sebenarnya merupakan subkelas tipe int (integer). Nilai dari tipe ini adalah True (benar) dan False (salah).

Contoh:

>>> t = True
>>> f = False
>>> print(t and f)
False
>>> print(t or f)
True
>>> type(t)


Minggu, 20 September 2020

Membaca Data Bilangan Rill #BelajarPython

Membaca Data Bilangan Rill #BelajarPython


Bilangan rill ( floating-point ) adalah bilangan yang mengandung angka di belakang koma misalnya 1.2, 3.14 dan sebagainya. Untuk membaca data bilangan rill sama seperti membaca bilangan bulat, kita harus melakukan proses konversi terlebih dahulu. Jika mengkonversi ke bilangan bulat kita menggunakan (int), untuk mengkonversi ke bilangan rill kita menggunakan float seperti kode di bawah ini:

def main():
# membuat prompt untuk tipe data float
bilriil = float(input("Masukkan bilangan riil: "))

# menggunakan variabel untuk melakukan perhitungan
hasil = bilriil*2

# menampilkan nilai variabel
print("Bilangan yang dimasukkan adalah %f" % bilriil)
print("%f x 2 = %f " % (bilriil, hasil))

if __name__ == "__main__":
main()


Hasil Program:

Masukkan bilangan riil: 2.12
Bilangan yang dimasukkan adalah 2.120000
2.120000 x 2 = 4.240000


Untuk menampilkan dua angka desimal di belakang koma anda perlu mengganti format di atas dengan %.2f, bukan %f

print("%.2f x 2 = %.2f " % (bilriil, hasil))

Meskipun bilangan rill dan bilangan bulat sama sama bertipe numerik namun anda tetap di ijinkan untuk mengkonversi data bilangan rill yang dibaca dari keyword menggunakan int. Sebagai bukti pernyataan ini, silahkan anda modifikasi kode di atas menjadi seperti berikut:

def main():
# membuat prompt untuk tipe data float
bilriil = int(input("Masukkan bilangan riil: "))

# menggunakan variabel untuk melakukan perhitungan
hasil = bilriil*2

# menampilkan nilai variabel
print("Bilangan yang dimasukkan adalah %f" % bilriil)
print("%f x 2 = %f " % (bilriil, hasil))

if __name__ == "__main__":
main()


Hasil program:

Masukkan bilangan riil: 2.12
Traceback (most recent call last):
File "D:\HapidFAdli\Belajar Python\Source Code\bab-2\input-float1.py", line 17, in
main()
File "D:\HapidFAdli\Belajar Python\Source Code\bab-2\input-float1.py", line 7, in main
bilriil = int(input("Masukkan bilangan riil: "))
ValueError: invalid literal for int() with base 10: '2.12'


Notification
This is just an example, you can fill it later with your own note.
Done