Diketahui:
- A = himpunan (set) bilangan genap antara 1 dan 20.
- B = himpunan (set) bilangan ganjil antara 1 dan 20.
- C = himpunan (set) bilangan negatif lebih dari -10.
- D = himpunan (set) bilangan prima antara 1 dan 20.
- E = himpunan (set) bilangan komposit antara 1 dan 20.
Definisi & kategori bilangan dapat Anda simak di laman Wikipedia. Buatlah sebuah file python (.py) yang dapat menyelesaikan permasalahan himpunan berikut:
a. A βͺ B βͺ C βͺ D βͺ E
b. (A β© B) βͺ (D β© E)
c. (A βͺ B) β© (D βͺ E)
d. (A βͺ B) - (D βͺ E)
e. (A βͺ B βͺ C) - (A β© E)
Catatan:
β Commit & push source code jawaban soal ini ke Github Anda, buatlah repo dengan nama Ujian_Himpunan, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!
Buatlah sebuah file python (.py) yang mengandung sebuah function dengan 1 parameter, yang dapat membentuk pola segitiga dengan elemen berupa karakter-karakter dari sebuah string yang menjadi parameter function tersebut. Info selengkapnya silakan ikuti case flow beserta output yang diharapkan berikut ini.
-
Case Flow: Saat dieksekusi, program akan mencetak pola segitiga dari karakter-karakter string yang diinputkan. Jika jumlah karakter string memenuhi syarat terbentuknya pola, maka program akan menjalankannya. Namun jika jumlah karakter string tidak memenuhi syarat membentuk pola, maka akan muncul pesan bahwa string tidak memenuhi syarat membentuk pola.
segitigaKata('Purwadhika') segitigaKata('Purwadhika Startup and Coding School @BSD') segitigaKata('kode') segitigaKata('kode python') segitigaKata('lintang')
-
Output yang diharapkan:
# segitigaKata('Purwadhika') P u r w a d h i k a p u r w a d h i k a # segitigaKata('Purwadhika Startup and Coding School @BSD') P u r w a d h i k a S t a r t u p a n d C o d i n g S c h o o l @ B S D P u r w a d h i k a S t a r t u p a n d C o d i n g S c h o o l @ B S D # segitigaKata('kode') Mohon maaf, jumlah karakter tidak memenuhi syarat membentuk pola. # segitigaKata('kode python') k o d e p y t h o n k o d e p y t h o n # segitigaKata('lintang') Mohon maaf, jumlah karakter tidak memenuhi syarat membentuk pola.
Catatan:
β Pastikan Anda membuat sebuah function dengan 1 parameter: segitigaKata(kata). Commit & push source code jawaban soal ini ke Github Anda, buatlah repo dengan nama Ujian_Segitiga_Kata, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!
Disediakan sebuah file JSON (ccNasabah.json, unduh di sini) berisi data nomor kartu kredit nasabah sebuah bank, yang belum diverifikasi validitas kartu kreditnya. Buatlah sebuah file python (.py) yang dapat membaca file JSON tersebut, kemudian memisahkan antara nasabah dengan nomor kartu kredit valid & invalid, lalu menyimpan hasilnya dalam file JSON yang terpisah (ccValid.json dan ccInvalid.json). Skema kerjanya dapat diilustrasikan sebagai berikut:
Adapun kriteria nomor kartu kredit yang valid adalah sebagai berikut:
- Diawali dengan angka 4, 5 atau 6.
- Terdiri atas tepat 16 digit angka.
- Hanya mengandung angka 0-9.
- Boleh dituliskan berupa grup 4 digit yang dipisahkan dengan tanda hubung "-"
- Tidak boleh terdapat 1 angka yang diulang >3x & tertulis secara beruntun, misal: 3333.
Contoh:
-
β Nomor kartu kredit valid:
- 4253625879615781
- 4424424424442442
- 5122-2368-7954-3213
- 4123456789123454
- 5123-4567-8912-3455
- 4123356789123456
-
β Nomor kartu kredit invalid:
- 0525362587961578 (tidak diawali dengan 4, 5 atau 6)
- 42536258796157867 (terdiri atas 17 digit angka)
- 44244z4424442444 (terdapat karakter 'z' yang bukan angka)
- 5122.2368.7954.3214 (dipisahkan bukan dengan tanda hubung)
- 4424444424442444 (terdapat angka yang diulang >3x & tertulis secara beruntun, yaitu: 44444)
- 61234-123-8912-3456 (terdapat grup yang tidak hanya terdiri atas 4 digit angka)
- 5199-9967-7912-3457 (terdapat angka yang diulang >3x & tertulis secara beruntun, yaitu: 9999)
- 5123 - 4567 - 8912 - 3456 (dipisahkan dengan tanda hubung & spasi)
Output yang diharapkan:
- File ccValid.json berisi data nasabah dengan nomor kartu kredit yang valid:
[ {"nama": "Andi", "noCreditCard": "4253625879615781"}, {"nama": "Budi", "noCreditCard": "5123-4567-8912-3455"}, {"nama": "Euis", "noCreditCard": "4424424424442442"}, {"nama": "Inne", "noCreditCard": "5122-2368-7954-3213"}, {"nama": "Nuri", "noCreditCard": "4123356789123456"}, {"nama": "Opik", "noCreditCard": "4123456789123454"} ]
- File ccInvalid.json berisi data nasabah dengan nomor kartu kredit yang tidak valid:
[ {"nama": "Caca", "noCreditCard": "0525362587961578"}, {"nama": "Deni", "noCreditCard": "42536258796157867"}, {"nama": "Fani", "noCreditCard": "44244z4424442444"}, {"nama": "Gaga", "noCreditCard": "5122.2368.7954.3214"}, {"nama": "Hari", "noCreditCard": "4424444424442444"}, {"nama": "Janu", "noCreditCard": "61234-123-8912-3456"}, {"nama": "Kiki", "noCreditCard": "5199-9967-7912-3457"}, {"nama": "Luis", "noCreditCard": "1111222233334444"}, {"nama": "Mira", "noCreditCard": "5123 - 4567 - 8912 - 3456"} ]
Catatan:
β Pastikan Anda membuat sebuah file python yang dapat membaca ccNasabah.json, kemudian memisahkan antara nasabah dengan kartu kredit valid & kartu kredit invalid, lalu menyimpannya dalam dalam file JSON yang terpisah (ccValid.json dan ccInvalid.json).
β Commit & push source code jawaban soal ini, beserta file JSON hasilnya ke Github Anda, buatlah repo dengan nama Ujian_Kartu_Kredit, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!
πΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈ
Buatlah sebuah file spreadsheet/excel (.xlsx) yang pada sel A1:C3 berisi angka seperti pada ilustrasi di atas. Tugas Anda, secara berkelompok & bergantian (@2 menit), buatlah sebuah file python (.py) yang dapat membaca file excel tersebut, kemudian menyimpannya kembali di sheet 2, 3 & 4 pada file yang sama, namun dengan konfigurasi angka yang berbeda. Perhatikan ilustrasi di atas π
πΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈπΈ
Tahun kabisat merupakan tahun yang mengalami penambahan satu hari dengan tujuan untuk menyesuaikan penanggalan dengan tahun astronomi. Dalam satu tahun tidak secara persis terdiri dari 365 hari, tetapi 365 hari 5 jam 48 menit 45,1814 detik. Jika hal ini tidak dihiraukan, maka setiap empat tahun akan kekurangan hampir 1 hari. Maka untuk mengkompensasi hal ini, setiap 4 tahun sekali, diberi 1 hari ekstra: 29 Februari.
Buatlah sebuah file python interaktif (.py) berisi sebuah function yang dapat menentukan suatu input dari user tergolong tahun kabisat atau tidak. Saat file dieksekusi, user diminta memasukkan angka tahun tertentu, kemudian akan muncul hasil yang menyatakan input user tersebut tergolong tahun kabisat atau tidak. Contoh hasil yang diharapkan:
Input tahun : 2019
Hasil : BUKAN TAHUN KABISAT
Input tahun : 2020
Hasil : TAHUN KABISAT
β Commit & push source code jawaban soal ini ke Github Anda, buatlah repo dengan nama Remedial_Tahun_Kabisat, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!
Buatlah sebuah file python interaktif (.py) berisi sebuah function yang dapat menentukan suatu input dari user tergolong alamat email yang valid atau tidak. Adapun kriteria alamat email yang valid adalah sebagai berikut:
- Memiliki format: namaUser@namaHosting.ekstensi
- namaUser hanya boleh terdiri atas huruf, angka, dash ('-') dan underscore ('_').
- namaHosting hanya boleh terdiri atas huruf dan angka.
- ekstensi hanya boleh terdiri atas huruf, dengan maksimum 5 karakter.
Contoh:
-
β Alamat email valid:
-
β Alamat email tidak valid:
- l/nt*ngw:s=s!@ym~il.com
- lintang@purwadhika.community
- lintang123@ironman123
Saat file dieksekusi, user diminta memasukkan alamat email, kemudian akan muncul hasil yang menyatakan email user valid atau tidak. Contoh hasil yang diharapkan:
Input email : lintang@purwadhika.com
Hasil : EMAIL VALID
Input email : lintang123@ironman123.space
Hasil : EMAIL VALID
Input email : captain@l*nt*ng.id
Hasil : EMAIL TIDAK VALID
β Commit & push source code jawaban soal ini ke Github Anda, buatlah repo dengan nama Remedial_Alamat_Email, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!
Lintang Wisesa π lintangwisesa@ymail.com
Facebook | Twitter | LinkedIn | Youtube | :octocat: GitHub | Hackster