Good drawing. First you can't wire LEDs like that in parallel as they won't share current evenly. What you will need is a resistor in series with every LED, 500 ohm should work ok, limiting current to under 20ma through each LED or so and you then can eliminate that one resistor you have shown.
Next six LEDs drawing 20ma each is 120ma of current which is more then the 40ma max you can safely draw from an Arduino output pin, so each Arduion output pin will need to wire to say a 500 ohm resistor and then to the base on a NPN transistor, the emitter wires to ground and the collector wires to the 6 led common cathode connection. A 2N2222 transistor is a common one that should work OK. So you will need 12 transistors, one for each row to be driven.
Switch inputs are pretty simple. Program the Arduino I/O pin to be a input pin and enable the software pull-up option. Then wire a normally open switch from the Iinput pin and ground. In your software a zero input value will mean the switch is actively being pressed and a one will mean it's off.
By the way you can use the analog input pins as digital pins by referring to them as digital pins 14 through 19, so they can be used for your switches.
Also note that because you are using the Vin pin for the LED power (9vdc you have in your drawing) the LEDs won't operate if and when you are powering your board with only the USB connector. It's OK to have both external power (9vdc) and USB plugged in at the same time, but just wanted you to be aware that the LEDs won't light if the external power, 9vdc, is removed.
Also note that if you plan on turning on all 12 rows at any one time you would be drawing more current then the external power circuit is designed to handle. Six or seven rows at one time or less should be OK though.
That enough to get you started?