Skip to content

LintangWisesa/Ujian_Fundamental_JCDS08

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Soal Ujian Python Data Science Fundamental

Lintang_Purwadhika


Soal 1 - 🆒 Mengurai & Merajut Kata

Buatlah sebuah file python (.py) yang berisi sebuah class dengan 2 buah method, yaitu urai(string) dan rajut(string). Dengan class tersebut, buatlah sebuah object yang dapat digunakan untuk mengurai & merajut sebuah string.

# buat sebuah class dengan 2 method
class uraiRajutKata:
    def urai(...):
        ...
    def rajut(...):
        ...

# buat sebuah object
x = uraiRajutKata()
  • Method urai(string) akan mengurai string. Adapun cara pemanggilan method urai(string) dan contoh output yang diharapkan adalah sebagai berikut:

    print(x.urai('Code'))
    print(x.urai('Python'))
    print(x.urai('Purwadhika'))
    
    # Output:
    CCoCodCode
    PPyPytPythPythoPython
    PPuPurPurwPurwaPurwadPurwadhPurwadhiPurwadhikPurwadhika
  • Sedangkan method rajut(string) akan merajut kembali string yang terurai menjadi bentuk kata asalnya. Adapun cara pemanggilan method rajut(string) dan contoh output yang diharapkan adalah sebagai berikut:

    print(x.rajut('CCoCodCode'))
    print(x.rajut('PPyPytPythPythoPython'))
    print(x.rajut('PPuPurPurwPurwaPurwadPurwadhPurwadhiPurwadhikPurwadhika'))
    
    # Output:
    Code
    Python
    Purwadhika

Catatan:

✅ Commit & push source code jawaban soal ini ke Github Anda, buatlah repo dengan nama Ujian_UraiRajutKata, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!


Soal 2 - 🔺 Segitiga Excel

Buatlah sebuah file python (.py) yang mengandung sebuah function dengan 1 parameter, yang dapat membentuk pola segitiga di sebuah file Excel/Spreadsheet (.xlsx) 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, di sebuah file Excel. 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.

    segitigaExcel('Purwadhika')
    segitigaExcel('Purwadhika Startup and Coding School @BSD')
    segitigaExcel('kode')
    segitigaExcel('kode python')
    segitigaExcel('Lintang')
  • Output yang diharapkan:

    # segitigaExcel('Purwadhika')

    2a


    # segitigaExcel('Purwadhika Startup and Coding School @BSD')

    2b


    # segitigaExcel('kode')
    Mohon maaf, jumlah karakter tidak memenuhi syarat membentuk pola.

    # segitigaExcel('kode python')

    2c

    # segitigaExcel('Lintang')
    Mohon maaf, jumlah karakter tidak memenuhi syarat membentuk pola.

Catatan:

✅ Pastikan Anda membuat sebuah function dengan 1 parameter: segitigaExcel(kata). Commit & push source code jawaban soal ini ke Github Anda, buatlah repo dengan nama Ujian_SegitigaExcel, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!


Soal 3 - 🛵 Jarak Dilan & Milea

Selepas SMA, Dilan & Milea memutuskan untuk berpisah & fokus belajar coding di Purwadhika Startup & Coding School. Dilan mengambil program Job Connector Web & Mobile di Purwadhika BSD, sementara Milea mengikuti program Job Connector Data Science di Purwadhika Bandung.

Sehari-hari Dilan beraktivitas di Purwadhika BSD yang terletak di Green Office Park 9, Kelurahan SAMPORA, Kecamatan CISAUK, Kabupaten TANGERANG, Provinsi BANTEN. Milea pun sibuk belajar di Purwadhika Bandung yang berlokasi di NextSPACE by UnionSPACE, Kelurahan CITARUM, Kecamatan BANDUNG WETAN, Kota BANDUNG, Provinsi JAWA BARAT.


Buatlah sebuah file python (.py) yang dapat menghitung jarak (dalam km) antara Dilan (Purwadhika BSD) & Milea (Purwadhika Bandung). Untuk menghitungnya, Anda dapat memanfaatkan 3 buah REST API berikut.

  • Disediakan API untuk mengakses daftar Provinsi & kode Provinsi di Indonesia. Untuk mengakses data tersebut, lakukan HTTP GET request ke URL endpoint berikut.

    http://raw.githubusercontent.com/LintangWisesa/Ujian_Fundamental_JCDS08/master/data/provinsi.json
  • Disediakan API untuk mengakses daftar kode Provinsi di Indonesia beserta seluruh Kelurahan (urban), Kecamatan (sub district), Kota/Kabupaten (city) & Kode Pos (postal code) yang ada dalam Provinsi tersebut. Untuk mengakses data, lakukan HTTP GET request ke URL endpoint berikut.

    http://raw.githubusercontent.com/LintangWisesa/Ujian_Fundamental_JCDS08/master/data/kodepos.json
  • ZipCodeAPI.com memberikan fasilitas untuk melakukan perhitungan jarak, radius & lokasi-lokasi di Amerika Serikat berdasarkan kode posnya. ZipCodeAPI.com memungkinkan user untuk menghitung jarak antara 2 atau lebih lokasi berdasarkan kode posnya. Di soal ini kita abaikan fakta bahwa ZipCodeAPI.com hanya berlaku untuk kode pos di Amerika Serikat, sehingga kita dapat menggunakan kode pos di Indonesia.

    Lakukan registrasi secara gratis untuk mendapatkan API key. Perlu diperhatikan, akun gratis ZipCodeAPI layanannya dibatasi hanya 10 API call/jam plus free trial period 50 API call/jam selama 2 minggu. Untuk menghitung jarak antara 2 kode pos dalam km, lakukan HTTP GET request ke URL endpoint berikut.

    http://www.zipcodeapi.com/rest/{APIkeyAnda}/distance.json/{kodepos1}/{kodepos2}/km

Pastikan Anda melakukan GET request API secara efektif & efisien, supaya tidak melampaui limit API call. Output yang diharapkan berupa informasi kode pos lokasi beserta jarak antara Dilan & Milea menurut ZipCodeAPI.com.

Kode Pos lokasi Dilan adalah XXXXX 
Kode Pos lokasi Milea adalah YYYYY
Jarak Dilan & Milea adalah ZZZZZ km

Catatan:

✅ Commit & push source code jawaban soal ini ke Github Anda, buatlah repo dengan nama Ujian_DilanMilea, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!

🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

Remedial Ujian Python Data Science Fundamental

Soal - 💳 Kode Seri NPWP

NPWP (Nomor Pokok Wajib Pajak) memiliki kode seri dengan 15 angka, yang menggunakan format sebagai berikut: 99.999.999.9-999.999.

  • Dua digit pertama, (99).xxx.xxx.x-xxx.xxx menunjukkan Identitas Wajib Pajak, yaitu:

    • 01 sampai 03 adalah Wajib Pajak Badan
    • 04 dan 06 adalah Wajib Pajak Pengusaha
    • 05 adalah Wajib Pajak Karyawan
    • 07 sampai 09 adalah Wajib Pajak Orang Pribadi
  • Enam digit berikutnya, xx.(999.999).x-xxx.xxx menunjukkan Nomor Registrasi / Urut yang diberikan Kantor Pusat Direktorat Jenderal Pajak kepada Kantor Pelayanan Pajak (KPP).

  • Satu digit berikutnya, xx.xxx.xxx.(9)-xxx.xxx berfungsi sebagai Alat Pengaman untuk menghindari terjadinya pemalsuan atau kesalahan pada NPWP.

  • Tiga digit berikutnya, xx.xx.xxx.x-(999).xxx adalah Kode KPP. Jika misalkan kodenya adalah 015, berarti NPWP tersebut dikeluarkan di KPP berkode 015, yaitu KPP Pratama Jakarta Tebet.

  • Tiga digit terakhir, xx.xxx.xxx.x-xxx.(999) menunjukkan Status Wajib Pajak:

    • 000 berarti berstatus Tunggal / Pusat (biasa disebut NPWP Pusat)
    • 00x (001,002 dst) berarti Cabang, dimana angka akhir menunjukkan urutan cabang (cabang ke-1 maka 001; cabang ke-2 maka 002; dst.).

Berdasarkan uraian di atas, buatlah sebuah file python (.py) yang berisi sebuah function untuk melakukan validasi kode seri NPWP & menguraikan artinya. Adapun eksekusi function beserta output yang diharapkan adalah sebagai berikut.

  • cekNPWP(99.999.999.9-999.999)

    Output: Kode seri NPWP tidak valid!
    

    Kode seri NPWP ini tidak valid dikarenakan 2 digit pertama hanya bisa diisi 01 sampai 09.

  • cekNPWP(091234560123123)

    Output: Kode seri NPWP tidak valid!
    

    Kode seri NPWP ini tidak valid dikarenakan tidak mengikuti format baku: 99.999.999.9-999.999.

  • cekNPWP(09.123.456.A-123.123)

    Output: Kode seri NPWP tidak valid!
    

    Kode seri NPWP ini tidak valid dikarenakan terdapat karakter bukan angka di dalamnya.

  • cekNPWP(02.123.456.0-212.191)

    Output: Kode seri NPWP valid!
            Identitas Wajib Pajak: 02 Wajib Pajak Badan
            Nomor Registrasi: 123.456
            Alat Pengaman: 0
            Kode KPP: 212
            Status Wajib Pajak: 191
    

    Kode seri NPWP ini valid, maka function akan menjabarkan arti angka pada kode seri tersebut.

Catatan:

✅ Commit & push source code jawaban soal ini ke Github Anda, buatlah repo dengan nama Remedial_NPWP, kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!


#HappyCoding ☺️

Lintang Wisesa 💌 lintangwisesa@ymail.com

Facebook | Twitter | LinkedIn | Youtube | :octocat: GitHub | Hackster

About

Panduan Soal Ujian Python Fundamental JC Data Science BSD batch 8 Feb'20

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published